amcaudiodec-omxgoogleaacdecoder0

Иван Рофов ivan.rofov at mail.ru
Tue Jan 21 21:43:47 PST 2014


 Hi!

I try use Gstreamer SDK for android device, and use this  http://docs.gstreamer.com/display/GstSDK/Android+tutorial+3%3A+Video  sample for testing.

I modify pipeline from:
data->pipeline = gst_parse_launch("videotestsrc ! warptv ! ffmpegcolorspace ! autovideosink", &error);
to:
data->pipeline =  gst_parse_launch(" filesrc location=/sdcard/47.mp4 ! decodebin2 !  eglglessink sync=0" , &error);

This pipeline worked on android 4.0.4, but on 4.2.2 I receive this error message:
Error received from element amcaudiodec-omxgoogleaacdecoder0: Internal data stream error.
And in LogCat (error level) I see:
01-22 12:20:59.470: E/Trace(9157): error opening trace file: No such file or directory (2)
01-22 12:21:00.090: E/SoftOMXPlugin(9157): unable to dlopen libstagefright_soft_alacdec.so
01-22 12:21:00.100: E/SoftMPEG4(9157): MODE Is 0,idx 0
01-22 12:21:00.100: E/SoftMPEG4(9157): MODE Is 0,idx 1
01-22 12:21:00.100: E/SoftMPEG4(9157): MODE Is 0,idx 2
01-22 12:21:00.100: E/SoftMPEG4(9157): MODE Is 0,idx 3
01-22 12:21:00.100: E/SoftMPEG4(9157): MODE Is 0,idx 4
01-22 12:21:00.100: E/SoftMPEG4(9157): MODE Is 0,idx 5
01-22 12:21:00.100: E/SoftMPEG4(9157): MODE Is 0,idx 6
01-22 12:21:00.110: E/SoftMPEG4(9157): MODE Is 1,idx 0
01-22 12:21:00.110: E/SoftMPEG4(9157): MODE Is 1,idx 1
01-22 12:21:00.110: E/SoftMPEG4(9157): MODE Is 1,idx 2
01-22 12:21:00.110: E/SoftMPEG4(9157): MODE Is 1,idx 3
01-22 12:21:00.110: E/SoftMPEG4(9157): MODE Is 1,idx 4
01-22 12:21:00.110: E/SoftMPEG4(9157): MODE Is 1,idx 5
01-22 12:21:00.110: E/SoftMPEG4(9157): MODE Is 1,idx 6
01-22 12:21:00.110: E/SoftMPEG4(9157): MODE Is 1,idx 7
01-22 12:21:00.110: E/SoftMPEG4(9157): MODE Is 1,idx 8
01-22 12:21:00.250: E/SoftOMXPlugin(9157): unable to dlopen libstagefright_soft_alacdec.so
01-22 12:21:00.250: E/SoftMPEG4(9157): MODE Is 0,idx 0
01-22 12:21:00.250: E/SoftMPEG4(9157): MODE Is 0,idx 1
01-22 12:21:00.250: E/SoftMPEG4(9157): MODE Is 0,idx 2
01-22 12:21:00.250: E/SoftMPEG4(9157): MODE Is 0,idx 3
01-22 12:21:00.250: E/SoftMPEG4(9157): MODE Is 0,idx 4
01-22 12:21:00.250: E/SoftMPEG4(9157): MODE Is 0,idx 5
01-22 12:21:00.250: E/SoftMPEG4(9157): MODE Is 0,idx 6
01-22 12:21:00.260: E/SoftMPEG4(9157): MODE Is 1,idx 0
01-22 12:21:00.260: E/SoftMPEG4(9157): MODE Is 1,idx 1
01-22 12:21:00.260: E/SoftMPEG4(9157): MODE Is 1,idx 2
01-22 12:21:00.260: E/SoftMPEG4(9157): MODE Is 1,idx 3
01-22 12:21:00.260: E/SoftMPEG4(9157): MODE Is 1,idx 4
01-22 12:21:00.260: E/SoftMPEG4(9157): MODE Is 1,idx 5
01-22 12:21:00.260: E/SoftMPEG4(9157): MODE Is 1,idx 6
01-22 12:21:00.260: E/SoftMPEG4(9157): MODE Is 1,idx 7
01-22 12:21:00.260: E/SoftMPEG4(9157): MODE Is 1,idx 8
01-22 12:21:01.290: E/OMXNodeInstance(9157): OMX_GetExtensionIndex failed

But Tutorial 5 sample (based on playbin2 element) works fine on android 4.2.2 too.

When I use pipeline 
data->pipeline = gst_parse_launch("filesrc location=/sdcard/47.mp4 ! qtdemux ! h264parse ! ffdec_h264 ! eglglessink sync=0", &error); 
instead
data->pipeline =  gst_parse_launch(" filesrc location=/sdcard/47.mp4 ! decodebin2 !  eglglessink sync=0" , &error);
video start playing, but  with 5 seconds per 1 frame.

As I understand it, all of this pipelines use cpu decoder. And every pipeline is high cpu usage on my tablet, when I play any video with gstreamer.
It's possible use hardware decoder with gstreamer on android?

Please help me solve this issues.


Sorry for my bad English.
-- 
Ivan Rofov


More information about the gstreamer-android mailing list