Closed Bug 943332 Opened 6 years ago Closed 2 years ago
[B2G][Helix][Video][tianhuajian]The device can not play mpeg mpg and m4v video file
User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; aff-kingsoft-ciba; .NET4.0C; .NET4.0E) Steps to reproduce: 1. Open video app 2. Select Playlist button 3. Select Recently Added option (check all other playlists) 4. Select the video file which you want to play Actual results: A can not locate recently added video file and play it, the video format is *.mpeg, *.mpg ,*.m4v (File is stored on the device, user is able to locate it and play on PC when connected via USB) Expected results: A can locate recently added video file and play it 【Test Count*】：5 【Found Count*】：5 【Gaia commit ID*】: V1.1HD 【Gecko commit ID*】: 1.1.0 HD 【Log*】： 【Network environment】： 【Resume operation】：
Severity: normal → critical
blocking-b2g: --- → hd?
OS: All → Gonk (Firefox OS)
Priority: -- → P2
Hardware: All → ARM
Please provide test media files to us. Thanks.
(In reply to Marco Chen [:mchen] from comment #1) > Please provide test media files to us. Thanks. I have attached the video test source
Hi Blake, Are there any analyse results for this issue? Thanks
Hi John, I found the type passed into Gecko is empty which cases Gecko return "cannotplay". Could you help check it or help find the right guy to check Gaia part? Thanks.
More info. in metadata.js, http://mxr.mozilla.org/gaia/source/apps/video/js/metadata.js#148 canPlayType(videofile.type) videofile.type is empty.
Blake, The type returned by DeviceStorage. The type is bind with file blob. And we calls  from mediadb to get the file blob and mediadb calls  from DeviceStorage to get file blob. Transferring the need info to Dave who is the owner of DeviceStorage. Dave, What type will be returned when getting files with the *.mpeg, *.mpg, and *.m4v extensions? Thanks.  https://github.com/mozilla-b2g/gaia/blob/376f06e5405dfb4f909bbab006ac0270b24941b9/apps/video/js/metadata.js#L117  https://github.com/mozilla-b2g/gaia/blob/376f06e5405dfb4f909bbab006ac0270b24941b9/shared/js/mediadb.js#L896
Flags: needinfo?(johu) → needinfo?(dhylands)
Dave, I mean the field of file/blob.type.
So device storage checks that the blobs have mimeTypes that start with image/ video/ or audio/ for the 3 main categories. When reading a blob, device storage calls the mime service GetTypeFromFile, which I think winds up looking at this table to map extensions to mime types: http://dxr.mozilla.org/mozilla-central/source/uriloader/exthandler/nsExternalHelperAppService.cpp#483 I see mp4 listed. I don't see mpeg, mpg or m4v listed.
For the test video files, the video part of diancai.mpg is encoded in MPEG-1 video which should not be supported. For tt.mpeg, it is audio only and mp2(MPEG-1 Audio, Layer 2) format which should not be supported either. These two could be POVB issues. Hi Michael, Could you confirm these two, MPEG-1 video and MP2 audio? Thanks.
I'm not sure those two codecs are supported.
For H264_BP_640x480_30fps_256kbps_1_17.m4v file, It can be seen and played after adding .m4v in the supported list as below. http://dxr.mozilla.org/mozilla-central/source/uriloader/exthandler/nsExternalHelperAppService.cpp#483
Yes , the device can't play most of the famous formats.
Firefox OS is not being worked on
Status: UNCONFIRMED → RESOLVED
Closed: 2 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.