GNOME Bugzilla – Bug 763884
Internal dataflow error on GStreamer Android release 1.7.91 (Playing Avatar trailer L/R SBS from youtube)
Last modified: 2018-11-03 13:47:59 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.
Can you attach a debug log with 3,amc*:6,gl*:6 ? Which Samsung phone is that?
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
test device. Samsung duos 7392. Android version 4.1.2. Will check tomorrow more advanced samsung phone.
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.
(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
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.
https://people.freedesktop.org/~tpm/samples/
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.
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"
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?
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.
So you'll have to check what it does different.
-- 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.