[Bug 731204] androidmedia: Implement zerocopy rendering

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Wed Jul 22 07:33:36 PDT 2015


https://bugzilla.gnome.org/show_bug.cgi?id=731204

Mathieu Duponchelle <mduponchelle1 at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mduponchelle1 at gmail.com

--- Comment #88 from Mathieu Duponchelle <mduponchelle1 at gmail.com> ---
I haven't been able to make that patchset work on the two different devices I
tested it with, the first a 2012 nexus 7, the second a galaxy core prime
(http://www.gsmarena.com/samsung_galaxy_core_prime-6716.php)

When using decodebin, decoding and playback work as glimagesink and decodebin
end up "wrongly" negotiating to system memory (first attachment, on the nexus),
but when trying to recreate the pipeline manually (second attachment, still on
the nexus), the pipeline errors out with this message:

E/GStreamer+amc( 8420): 0:00:01.129697000 0x687e4430
gstamc.c:2036:gst_amc_color_format_info_set Unsupported color format 256
E/GStreamer+amcvideodec( 8420): 0:00:01.129798000 0x687e4430
gstamcvideodec.c:640:gst_amc_video_dec_set_src_caps:<amcvideodec-omxnvidiah264decode0>
Failed to set up GstAmcColorFormatInfo
D/GStreamer+tutorial-3( 8420): 0:00:01.147285001 0x684c1200
/home/meh/devel/gst-sdk-tutorials/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c:88:set_ui_message
Setting message to: Error received from element
amcvideodec-omxnvidiah264decode0: GStreamer encountered a general supporting
library error.

I initially thought this could be due to the version of Android I had on the
device (4.2), but the error remained after upgrading to 4.3 then 4.4.

On the galaxy core prime, the error is different, and I see these messages :

I/OMXNodeInstance(20338): StatusFromOMX default is (0x80001001)
E/OMXNodeInstance(20338): OMX_GetExtensionIndex
OMX.google.android.index.storeMetaDataInBuffers failed
I/OMXNodeInstance(20338): StatusFromOMX default is (0x80001001)
E/ACodec  (20338): [OMX.google.h264.decoder] storeMetaDataInBuffers failed w/
err -2147483648
I/ACodec  (20338): DRC Mode: Port Reconfig Mode
I/OMX     (20338): width (1280), height (720), fps (0)
I/ACodec  (20338): [OMX.google.h264.decoder] Now Loaded->Idle
I/ACodec  (20338): [OMX.google.h264.decoder] Now Idle->Executing
I/ACodec  (20338): [OMX.google.h264.decoder] Now Executing
E/SoftAVC (20338): Decoder failed: -2
E/ACodec  (20338): [OMX.google.h264.decoder] ERROR(0x80001001)
E/MediaCodec(20338): Codec reported an error. (omx error 0x80001001,
internalError -2147483648)
E/GStreamer+amcvideodec(20338): 0:00:01.597871718 0x61c17a30
gstamcvideodec.c:1653:gst_amc_video_dec_handle_frame:<amcvideodec-omxgoogleh264decoder0>
Failed to dequeue input buffer
E/GStreamer+amcvideodec(20338): 0:00:01.602675208 0x633a7b20
gstamcvideodec.c:799:gst_amc_video_dec_loop:<amcvideodec-omxgoogleh264decoder0>
Failure dequeueing output buffer
D/GStreamer+tutorial-3(20338): 0:00:01.605207864 0x61c2d920
/home/meh/devel/gst-sdk-tutorials/gst-sdk/tutorials/android-tutorial-3/jni/tutorial-3.c:88:set_ui_message
Setting message to: Error received from element
amcvideodec-omxgoogleh264decoder0: GStreamer encountered a general supporting
library error.
E/GStreamer+amcvideodec(20338): 0:00:01.606267551 0x61c17a30
gstamcvideodec.c:1858:gst_amc_video_dec_drain:<amcvideodec-omxgoogleh264decoder0>
Invalid input buffer index -2147483648 of 8

I have investigated a bit more, and using "grafika"
(https://github.com/google/grafika/tree/master/src/com/android/grafika) I was
about to play video with the releaseOutputBuffer (do_render=True) technique, in
a surface, with the same mp4/h264 video I was using for my testing. On the
nexus, the color format is also 256, after their call to getOutputFormat, but
that does not seem to be a problem, and it gets correctly rendered in a
surface.

As this patchset would break playback on both these devices under decodebin
once #742924 is fixed, I think it isn't ready for merging, do these errors
evoke anything to you Mathieu ?

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list