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

Categories

(Firefox OS Graveyard :: Gaia::Video, defect, P2, critical)

ARM
Gonk (Firefox OS)
defect

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: lecky.wanglei, Assigned: bwu)

Details

Attachments

(2 files)

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
Assignee: nobody → bwu
Hi Blake,
Are there any analyse results for this issue?
Thanks
Flags: needinfo?(wchang)
Flags: needinfo?(wchang)
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.
Flags: needinfo?(johu)
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 [1] from mediadb to get the file blob and mediadb calls [2] 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.


[1] https://github.com/mozilla-b2g/gaia/blob/376f06e5405dfb4f909bbab006ac0270b24941b9/apps/video/js/metadata.js#L117
[2] 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.
Flags: needinfo?(dhylands)
blocking-b2g: hd? → ---
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.
Flags: needinfo?(mvines)
I'm not sure those two codecs are supported.
Flags: needinfo?(mvines)
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.