could not link amcvideodec-omxgoogleh264decoder0 to glcolorscale0

Joel Fuster j at fuster.org
Sun Nov 8 19:28:59 PST 2015


OK, it turns out I needed a videoconvert in there to go from I420 to
RGBA. I'm not really clear on why that wasn't necessary for
glimagesink, but that's another problem for another day.

My new issue is that glupload seems to fail after a few frames and I'm
not sure why. Except below and full log here:
http://pastebin.com/T8fT88YW

My appsink callback code is here: http://pastebin.com/p8VWZ8wb

Any thoughts?

Thanks


11-08 22:16:36.257 24457-24648/org.fuster.droidhud
D/GStreamer+glupload: 0:00:01.806603645 0x9a2fe7b0
gstglupload.c:1141:_upload_find_method:<glupload0> attempting upload
with uploader GLMemory
11-08 22:16:36.259 24457-24648/org.fuster.droidhud D/GStreamer+libgst:
0:00:01.808080885 0x9a2fe7b0
/home/joel/src/droidhud/app/src/main/jni/gst.c:75:attach_current_thread
Attaching thread 0x9a2fe7b0
11-08 22:16:36.259 24457-24648/org.fuster.droidhud D/GStreamer+libgst:
0:00:01.808620156 0x9a2fe7b0
/home/joel/src/droidhud/app/src/main/jni/gst.c:194:new_sample_cb
new_sample_cb(): texture id:4, width: 320, height: 240 format name:
RGBA
11-08 22:16:36.260 24457-24606/org.fuster.droidhud W/GStreamer+libgst:
0:00:01.809165260 0x9dd6c180
/home/joel/src/droidhud/app/src/main/jni/gst.c:109:set_ui_message
Setting message to: State changed to PLAYING
11-08 22:16:36.260 24457-24606/org.fuster.droidhud I/GLVideoGS:
setMessage(): State changed to PLAYING
11-08 22:16:36.262 24457-24648/org.fuster.droidhud
D/GStreamer+glbuffer: 0:00:01.811129270 0x9a2fe7b0
gstglbasebuffer.c:151:gst_gl_base_buffer_init new GL buffer
memory:0x98ef2170 size:307207
11-08 22:16:36.262 24457-24648/org.fuster.droidhud
D/GStreamer+glmemory: 0:00:01.811346301 0x9a2fe7b0
gstglmemory.c:669:_gl_mem_init new GL texture context:<glcontextegl0>
memory:0x98ef2170 format:4 dimensions:320x240 stride:1280 size:307200
11-08 22:16:36.262 24457-24648/org.fuster.droidhud
D/GStreamer+glbuffer: 0:00:01.811523333 0x9a2fe7b0
gstglbasebuffer.c:191:gst_gl_base_buffer_alloc_data 0x98ef2170
allocated data pointer alloc 0x98a80000, data 0x98a80000
11-08 22:16:36.268 24457-24648/org.fuster.droidhud D/GStreamer+libgst:
0:00:01.817616562 0x9a2fe7b0
/home/joel/src/droidhud/app/src/main/jni/gst.c:194:new_sample_cb
new_sample_cb(): texture id:5, width: 320, height: 240 format name:
RGBA

...a couple of frames later...

11-08 22:16:36.350 24457-24648/org.fuster.droidhud D/GStreamer+libgst:
0:00:01.899748958 0x9a2fe7b0
/home/joel/src/droidhud/app/src/main/jni/gst.c:194:new_sample_cb
new_sample_cb(): texture id:5, width: 320, height: 240 format name:
RGBA
11-08 22:16:36.365 24457-24648/org.fuster.droidhud D/GStreamer+libgst:
0:00:01.914051979 0x9a2fe7b0
/home/joel/src/droidhud/app/src/main/jni/gst.c:194:new_sample_cb
new_sample_cb(): texture id:6, width: 320, height: 240 format name:
RGBA
11-08 22:16:36.412 24457-24648/org.fuster.droidhud D/GStreamer+libgst:
0:00:01.961687812 0x9a2fe7b0
/home/joel/src/droidhud/app/src/main/jni/gst.c:194:new_sample_cb
new_sample_cb(): texture id:5, width: 320, height: 240 format name:
RGBA
11-08 22:16:36.431 24457-24648/org.fuster.droidhud
D/GStreamer+glupload: 0:00:01.980286353 0x9a2fe7b0
gstglupload.c:1141:_upload_find_method:<glupload0> attempting upload
with uploader EGLImage
11-08 22:16:36.431 24457-24648/org.fuster.droidhud
D/GStreamer+glupload: 0:00:01.980546614 0x9a2fe7b0
gstglupload.c:1141:_upload_find_method:<glupload0> attempting upload
with uploader UploadMeta
11-08 22:16:36.431 24457-24648/org.fuster.droidhud
D/GStreamer+glupload: 0:00:01.980758645 0x9a2fe7b0
gstglupload.c:1141:_upload_find_method:<glupload0> attempting upload
with uploader Raw Data
11-08 22:16:36.432 24457-24648/org.fuster.droidhud
W/GStreamer+gluploadelement: 0:00:01.980971822 0x9a2fe7b0
gstgluploadelement.c:228:gst_gl_upload_element_prepare_output_buffer:<gluploadelement0>
error: Failed to upload buffer

On Sun, Nov 8, 2015 at 3:12 PM, Joel Fuster <j at fuster.org> wrote:
> Hmm, OK.  My pipeline is now this:
>
>  private static String defaultPipelineDescription = "udpsrc port=%d " +
>             "caps=application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=(string)H264
> " +
>             "! rtph264depay ! h264parse ! amcviddec-omxgoogleh264decoder  " +
>             "! glupload ! glcolorscale ! appsink name=sink sync=false
> max-buffers=2 drop=true
> caps=video/x-raw(memory:GLMemory),format=RGBA";
>
> But now I just get "could not link gluploadelement0 to glcolorscale0"...
>
> http://pastebin.com/79wCJCks
>
> On Sun, Nov 8, 2015 at 2:50 PM, Sebastian Dröge
> <sebastian at centricular.com> wrote:
>> On So, 2015-11-08 at 14:34 -0500, Joel Fuster wrote:
>>> I'm having an issue with my pipeline not building on Android with
>>> Gstreamer 1.6.1 and I was hoping someone could point out what I'm
>>> doing wrong.
>>>
>>> My pipeline is as follows:
>>>
>>> private static String defaultPipelineDescription = "udpsrc port=%d "
>>> +
>>>         "caps=application/x-rtp,media=(string)video,clock-
>>> rate=(int)90000,encoding-name=(string)H264
>>> " +
>>>         "! rtph264depay ! h264parse ! amcviddec-omxgoogleh264decoder
>>> " +
>>>         "! glcolorscale ! appsink name=sink max-buffers=2 drop=true
>>> caps=video/x-raw(memory:GLMemory),format=RGBA";
>>
>> You have to use glupload before glcolorscale.
>>
>> --
>> Sebastian Dröge, Centricular Ltd · http://www.centricular.com
>>
>>
>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>


More information about the gstreamer-devel mailing list