Closed Bug 1159509 Opened 5 years ago Closed 5 years ago

[Camera][Messages] Unable to record a video within Messages app; gives an error upon finishing recording

Categories

(Firefox OS Graveyard :: Gaia::Camera, defect)

ARM
Gonk (Firefox OS)
defect
Not set

Tracking

(blocking-b2g:2.5+, firefox40 fixed, b2g-v2.2 unaffected, b2g-master verified)

VERIFIED FIXED
2.2 S11 (1may)
blocking-b2g 2.5+
Tracking Status
firefox40 --- fixed
b2g-v2.2 --- unaffected
b2g-master --- verified

People

(Reporter: pcheng, Assigned: bwu)

References

Details

(Keywords: regression, Whiteboard: [3.0-Daily-Testing])

Attachments

(3 files, 1 obsolete file)

Attached file logcat of issue
Description:
Unable to use camcorder functionality from within Messages app. It always gives user an error when finishing recording.

STR:
1) Go to Messages > create a new message
2) Tap attachment button > Camera
3) Switch to Video mode, and record a 3-second-video

Expected: Video can be successfully recorded

Actual: When user taps to stop recording, an error immediately comes up saying: Video not recorded. An error prevented Camera from recording the video.

See video demonstrating the issue:
https://www.youtube.com/watch?v=YHRuBt_WGYs

Repro rate: 8/8

Also attaching a logcat.

Device: Flame 3.0
BuildID: 20150428010206
Gaia: 0636405f0844bf32451a375b2d61a2b16fe33348
Gecko: caf25344f73e
Gonk: b83fc73de7b64594cd74b33e498bf08332b5d87b
Version: 40.0a1 (3.0) 
Firmware Version: v18D-1
User Agent: Mozilla/5.0 (Mobile; rv:40.0) Gecko/40.0 Firefox/40.0
2.2 is unaffected. Video can be recorded from within Messages app.

Device: Flame 2.2
BuildID: 20150428002500
Gaia: 9f6b1b9082662ba2c14168fc66bb02b4df3141e5
Gecko: e79c19bf19bf
Gonk: ebad7da532429a6f5efadc00bf6ad8a41288a429
Version: 37.0 (2.2) 
Firmware Version: v18D-1
User Agent: Mozilla/5.0 (Mobile; rv:37.0) Gecko/37.0 Firefox/37.0
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(ktucker)
Keywords: regression
Whiteboard: [3.0-Daily-Testing]
[Blocking Requested - why for this release]:

This is a regression and broken functionality so nominating this 3.0?
blocking-b2g: --- → 3.0?
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(ktucker)
QA Contact: bzumwalt
Central Regression Window:

Will provide inbound window in morning.

Last working Central build:
Device: Flame 3.0
Build ID: 20150427033459
Gaia: 581df5e5cad323e811fffef69553278c1fb695a4
Gecko: 9c22b105b0e3
Version: 40.0a1 (3.0)
Firmware Version: v18D-1
User Agent: Mozilla/5.0 (Mobile; rv:40.0) Gecko/40.0 Firefox/40.0

First broken Central build:
Device: Flame 3.0
Build ID: 20150427121519
Gaia: 0636405f0844bf32451a375b2d61a2b16fe33348
Gecko: caf25344f73e
Version: 40.0a1 (3.0)
Firmware Version: v18D-1
User Agent: Mozilla/5.0 (Mobile; rv:40.0) Gecko/40.0 Firefox/40.0


Working Gaia with Broken Gecko issue DOES reproduce:
Gaia: 581df5e5cad323e811fffef69553278c1fb695a4
Gecko: caf25344f73e

Working Gecko with Broken Gaia issue does NOT reproduce:
Gaia: 0636405f0844bf32451a375b2d61a2b16fe33348
Gecko: 9c22b105b0e3


Central pushlog:
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=9c22b105b0e3&tochange=caf25344f73e
Mozilla-Inbound Regression Window:

Last working Mozilla-Inbound build:
Device: Flame 3.0
Build ID: 20150427015253
Gaia: b4c949cdc780893897c9b45c1adea46e2eb694ff
Gecko: fe832ef6cc60
Version: 40.0a1 (3.0)
Firmware Version: v18D-1
User Agent: Mozilla/5.0 (Mobile; rv:40.0) Gecko/40.0 Firefox/40.0


First broken Mozilla-Inbound build:
Device: Flame 3.0
Build ID: 20150427020457
Gaia: b4c949cdc780893897c9b45c1adea46e2eb694ff
Gecko: 5fa88d413c4f
Version: 40.0a1 (3.0)
Firmware Version: v18D-1
User Agent: Mozilla/5.0 (Mobile; rv:40.0) Gecko/40.0 Firefox/40.0


Working Gaia with Broken Gecko issue DOES reproduce:
Gaia: b4c949cdc780893897c9b45c1adea46e2eb694ff
Gecko: 5fa88d413c4f

Working Gecko with Broken Gaia issue does NOT reproduce:
Gaia: b4c949cdc780893897c9b45c1adea46e2eb694ff
Gecko: fe832ef6cc60


Mozilla-Inbound Pushlog:
http://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=fe832ef6cc60&tochange=5fa88d413c4f


Issue appears to occur due to changes made in bug 1146729
QA Whiteboard: [QAnalyst-Triage+] → [QAnalyst-Triage?]
Flags: needinfo?(ktucker)
Blake, can you take a look at this please? This might have been caused by the landing for bug 1146729.
Blocks: 1146729
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(ktucker) → needinfo?(bwu)
(In reply to KTucker [:KTucker] from comment #5)
> Blake, can you take a look at this please? This might have been caused by
> the landing for bug 1146729.
I just confirmed this bug is caused by bug 1146729.
Assignee: nobody → bwu
Flags: needinfo?(bwu)
The rootcause is the audio part encoded in "audio/3gpp" is not supported in current MP4Reader. I am going to make it supported.
After a video file is recorded, it will be decoded for showing its thumbnail. However, audio part, AMR-NB, is not supported to be played in current MP4Reader which is recently enabled for all the mp4 local playback. 

This patch is intended to make it supported.
Attachment #8599766 - Flags: review?(jyavenard)
Comment on attachment 8599766 [details] [diff] [review]
Bug-1159509-Support-audio-AMR-NB-for-Gonk-in-MP4Read.patch

Review of attachment 8599766 [details] [diff] [review]:
-----------------------------------------------------------------

easy !

::: dom/media/fmp4/gonk/GonkAudioDecoderManager.cpp
@@ +52,3 @@
>    MOZ_ASSERT(mAudioChannels);
>    mUserData.AppendElements(aConfig.mCodecSpecificConfig->Elements(),
>                             aConfig.mCodecSpecificConfig->Length());

mCodecSpecificConfig is a refcounted object, you don't need to copy the content, make mUserData a nsRefPtr<MediaByteBuffer> and mUserData(aConfig.mCodecSpecificConfig) in the initializer.

::: dom/media/fmp4/gonk/GonkMediaDataDecoder.h
@@ +69,5 @@
>    nsTArray<nsRefPtr<MediaRawData>> mQueueSample;
>  
>    RefPtr<MediaTaskQueue> mTaskQueue;
> +
> +  nsAutoCString mMimeType;

The VideoInfo/AudioInfo are const object and valid during the entire lifetime of the decoder. You could use a const reference (save some ram)
Attachment #8599766 - Flags: review?(jyavenard) → review+
(In reply to Jean-Yves Avenard [:jya] from comment #9)
> Comment on attachment 8599766 [details] [diff] [review]
> Bug-1159509-Support-audio-AMR-NB-for-Gonk-in-MP4Read.patch
> 
> Review of attachment 8599766 [details] [diff] [review]:
> -----------------------------------------------------------------
> 
> easy !
> 
> ::: dom/media/fmp4/gonk/GonkAudioDecoderManager.cpp
> @@ +52,3 @@
> >    MOZ_ASSERT(mAudioChannels);
> >    mUserData.AppendElements(aConfig.mCodecSpecificConfig->Elements(),
> >                             aConfig.mCodecSpecificConfig->Length());
> 
> mCodecSpecificConfig is a refcounted object, you don't need to copy the
> content, make mUserData a nsRefPtr<MediaByteBuffer> and
> mUserData(aConfig.mCodecSpecificConfig) in the initializer.
> 
> ::: dom/media/fmp4/gonk/GonkMediaDataDecoder.h
> @@ +69,5 @@
> >    nsTArray<nsRefPtr<MediaRawData>> mQueueSample;
> >  
> >    RefPtr<MediaTaskQueue> mTaskQueue;
> > +
> > +  nsAutoCString mMimeType;
> 
> The VideoInfo/AudioInfo are const object and valid during the entire
> lifetime of the decoder. You could use a const reference (save some ram)
Good eyes! Will do.
1. Have changes according to comment 9. 
2. Carry r+ from jya.
Attachment #8599766 - Attachment is obsolete: true
Attachment #8600242 - Flags: review+
https://hg.mozilla.org/mozilla-central/rev/154ea100c58c
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → 2.2 S11 (1may)
blocking-b2g: 2.5? → 2.5+
This bug has been verified as "pass" on the latest nightly build of Flame KK master by the STR in comment 0.

Actual results: Users can record a video for a MMS in Messages app, and no any error.
See attachment: verified_FlameKK_master.3gp
Reproduce rate: 0/8


Device: Flame KK master (Pass)
Build ID               20150825150204
Gaia Revision          a8a462ab783a5bbab508d3c29483cff260672e3c
Gaia Date              2015-08-25 04:21:06
Gecko Revision         https://hg.mozilla.org/mozilla-central/rev/c46370eea81a9860ae77d1f0c7776c24e816138e
Gecko Version          43.0a1
Device Name            flame
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.cltbld.20150825.204529
Firmware Date          Tue Aug 25 20:45:45 EDT 2015
Bootloader             L1TC000118D0
QA Whiteboard: [QAnalyst-Triage+] → [QAnalyst-Triage+][MGSEI-Triage+]
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.