After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 763884 - Internal dataflow error on GStreamer Android release 1.7.91 (Playing Avatar trailer L/R SBS from youtube)
Internal dataflow error on GStreamer Android release 1.7.91 (Playing Avatar t...
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
1.7.91
Other other
: Normal major
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2016-03-18 16:43 UTC by Barun Kumar Singh
Modified: 2018-11-03 13:47 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
*:4 debug log (152.27 KB, text/plain)
2016-03-18 16:43 UTC, Barun Kumar Singh
Details
GstLog "*:3,amc*:6,gl*:6" (175.85 KB, text/x-vhdl)
2016-03-18 17:45 UTC, Barun Kumar Singh
Details

Description Barun Kumar Singh 2016-03-18 16:43:28 UTC
Created attachment 324290 [details]
*:4 debug log

Playback using playbin failed due to internal data flow error (Possibly hardware codec failed) on Android 4.1.3 Samsung phone.
Comment 1 Sebastian Dröge (slomo) 2016-03-18 17:43:33 UTC
Can you attach a debug log with 3,amc*:6,gl*:6 ? Which Samsung phone is that?
Comment 2 Barun Kumar Singh 2016-03-18 17:45:35 UTC
Created attachment 324295 [details]
GstLog "*:3,amc*:6,gl*:6"

Media file link to test with: (available for one week only)
http://wikisend.com/download/239920/Avatar_3D_720p.mp4
Comment 3 Barun Kumar Singh 2016-03-18 17:48:11 UTC
test device. Samsung duos 7392. Android version 4.1.2.
Will check tomorrow more advanced samsung phone.
Comment 4 Sebastian Dröge (slomo) 2016-03-18 18:06:42 UTC
Nothing really we can do about that I think. Did it work with earlier versions of GStreamer?

The problem is that the hardware decoder is consuming buffers... and then at some point just doesn't want anymore and throws an exception.
Comment 5 Barun Kumar Singh 2016-03-19 04:46:36 UTC
(In reply to Sebastian Dröge (slomo) from comment #4)
> Nothing really we can do about that I think. Did it work with earlier
> versions of GStreamer?
> 
> The problem is that the hardware decoder is consuming buffers... and then at
> some point just doesn't want anymore and throws an exception.

Slomo; I re-rendered same video file for Android with same resolution and codec on same device, and it is playable. Below is link of new media file. Hope it will help you to understand the problem why MediaCodec throws exception.

http://wikisend.com/download/370376/Avatar_3D_720p_New.mp4
Comment 6 Sebastian Dröge (slomo) 2016-03-19 09:21:23 UTC
I can't download the video from there, it only allows me to watch it in the browser and when trying to download it I just get a 11kb html file. Can you please upload it to a more useful place? :)

The problem will likely be the h264 profile and/or level, or the complexity of the stream in another way. However you said that the original one also plays fine on the Android player. So what is needed now is to check if it plays fine in any other MediaCodec based application (not the Android player or anything using the MediaPlayer API). And if it does, checking what that player does different.
You could also implement a small application around MediaExtractor and MediaCodec to check if MediaExtractor provides things different somehow to make MediaCodec happy. And then we can try to do the same.
Comment 7 Tim-Philipp Müller 2016-03-19 15:33:26 UTC
https://people.freedesktop.org/~tpm/samples/
Comment 8 Barun Kumar Singh 2016-03-19 17:26:31 UTC
slomo, __tim uploaded both files to https://people.freedesktop.org/~tpm/samples/ .
File 763884-Avatar_3D_720p_New.mp4 is playable. I will try to write one test app using MediaExtractor but it will take sm time as I m not a Java programmer.
Comment 9 Barun Kumar Singh 2016-03-19 18:21:13 UTC
File with error:
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstCapsFilter:capsfilter0.GstPad:src: caps = "video/x-h264\,\ stream-format\=\(string\)avc\,\ alignment\=
\(string\)au\,\ level\=\(string\)3.1\,\ profile\=\(string\)high\,\ codec_data\=\(buffer\)0164001fffe1001a6764001fac248805005bb011000003000100000300320f1832a001000468ee3cb0\,\ width
\=\(int\)1280\,\ height\=\(int\)720\,\ framerate\=\(fraction\)25/1\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\ parsed\=\(boolean\)true"

Playble file:
/GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/avdec_h264:avdec_h264-0.GstPad:sink: caps = "video/x-h264\,\ stream-format\=\(string\)avc\,\ alignment\=\
(string\)au\,\ level\=\(string\)3.1\,\ profile\=\(string\)baseline\,\ codec_data\=\(buffer\)0142801fffe100296742801f965200a00b77fe00020002a100000303e90000bb80e04000249f00005b8dbf18
e0ed0a152401000468cb8d48\,\ width\=\(int\)1280\,\ height\=\(int\)720\,\ framerate\=\(fraction\)24000/1001\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\ parsed\=\(boolean\)true"
Comment 10 Sebastian Dröge (slomo) 2016-03-20 09:48:16 UTC
The working file is baseline profile, the non-working one high profile. But apparently your hardware decoder doesn't specify which profiles it supports.

Can you confirm that reencoding with high profile makes it fail again?
Comment 11 Barun Kumar Singh 2016-03-20 16:41:13 UTC
Yes. re-encoding to high profile failed to play. Meanwhile I tried original file with MX Player with H/W option enabled on same device and file was playable.
Comment 12 Sebastian Dröge (slomo) 2016-03-20 21:38:57 UTC
So you'll have to check what it does different.
Comment 13 GStreamer system administrator 2018-11-03 13:47:59 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/361.