Caps renegotiation with codec_data results in "not-negotiated"
Graham Leggett
minfrin at sharp.fm
Mon Nov 21 00:50:05 UTC 2016
Hi all,
I have a transcoding pipeline that looks like this:
http://www.sharp.fm/0.00.02.176790240-gst-launch.PAUSED_PLAYING.dot.svg
I have my MPEG2 TS being transcoded on the fly, however about 55 minutes into the stream we attempt to renegotiate the caps for a reason I don’t understand and then fail as per the log below.
The caps differ by the addition of the “codec_data” to the caps, which for some reason isn’t liked.
Is there a missing element that should be added to handle “codec_data"?
minfrin at towerofpi9:/var/www/html/stream $ cat /mnt/stream/stream10.out | grep ALLOCATION
0:00:02.092736080 9358 0x74b01b80 DEBUG videoencoder gstvideoencoder.c:1651:gst_video_encoder_negotiate_default:<omxh264enc-omxh264enc0> didn't get downstream ALLOCATION hints
0:00:02.092804985 9358 0x74b01b80 DEBUG videoencoder gstvideoencoder.c:1658:gst_video_encoder_negotiate_default:<omxh264enc-omxh264enc0> ALLOCATION (1) params: allocation query: 0x75529000, GstQueryAllocation, caps=(GstCaps)"video/x-h264\,\ stream-format\=\(string\)byte-stream\,\ alignment\=\(string\)au\,\ profile\=\(string\)high\,\ level\=\(string\)4\,\ width\=\(int\)544\,\ height\=\(int\)576\,\ pixel-aspect-ratio\=\(fraction\)64/33\,\ framerate\=\(fraction\)25/1", need-pool=(boolean)true, allocator=(GArray)NULL;
0:55:35.347010877 9358 0x74b01b80 DEBUG videoencoder gstvideoencoder.c:1651:gst_video_encoder_negotiate_default:<omxh264enc-omxh264enc0> didn't get downstream ALLOCATION hints
0:55:35.347103585 9358 0x74b01b80 DEBUG videoencoder gstvideoencoder.c:1658:gst_video_encoder_negotiate_default:<omxh264enc-omxh264enc0> ALLOCATION (1) params: allocation query: 0x68a3e8f0, GstQueryAllocation, caps=(GstCaps)"video/x-h264\,\ stream-format\=\(string\)byte-stream\,\ alignment\=\(string\)au\,\ profile\=\(string\)high\,\ level\=\(string\)4\,\ width\=\(int\)544\,\ height\=\(int\)576\,\ pixel-aspect-ratio\=\(fraction\)64/33\,\ framerate\=\(fraction\)25/1\,\ codec_data\=\(buffer\)404409361803c489a8", need-pool=(boolean)true, allocator=(GArray)NULL;
The full log is as follows:
0:55:35.294566109 9358 0x75528030 DEBUG omxvideoenc gstomxvideoenc.c:1612:gst_omx_video_enc_handle_frame:<omxh264enc-omxh264enc0> Passed frame to component
0:55:35.297810135 9358 0x74b01b80 DEBUG omxvideoenc gstomxvideoenc.c:753:gst_omx_video_enc_loop:<omxh264enc-omxh264enc0> Handling buffer: 0x00000480 0
0:55:35.297892998 9358 0x74b01b80 DEBUG omxh264enc gstomxh264enc.c:618:gst_omx_h264_enc_handle_output_frame:<omxh264enc-omxh264enc0> got codecconfig in byte-stream format
0:55:35.297927894 9358 0x74b01b80 DEBUG omxvideoenc gstomxvideoenc.c:762:gst_omx_video_enc_loop:<omxh264enc-omxh264enc0> Finished frame: ok
0:55:35.298151954 9358 0x74b01b80 DEBUG omxvideoenc gstomxvideoenc.c:770:gst_omx_video_enc_loop:<omxh264enc-omxh264enc0> Read frame from component
0:55:35.298184974 9358 0x74b01b80 DEBUG omxvideoenc gstomxvideoenc.c:753:gst_omx_video_enc_loop:<omxh264enc-omxh264enc0> Handling buffer: 0x00000480 0
0:55:35.298624604 9358 0x74b01b80 DEBUG omxvideoenc gstomxvideoenc.c:562:gst_omx_video_enc_handle_output_frame:<omxh264enc-omxh264enc0> Handling codec data
0:55:35.347010877 9358 0x74b01b80 DEBUG videoencoder gstvideoencoder.c:1651:gst_video_encoder_negotiate_default:<omxh264enc-omxh264enc0> didn't get downstream ALLOCATION hints
/GstPipeline:pipeline0/GstTranscoder:transcoder/GstEncodeBin:encodebin0/GstOMXH264Enc-omxh264enc:omxh264enc-omxh264enc0.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)high, level=(string)4, width=(int)544, height=(int)576, pixel-aspect-ratio=(fraction)64/33, framerate=(fraction)25/1, codec_data=(buffer)404409361803c489a8
/GstPipeline:pipeline0/GstTranscoder:transcoder/GstEncodeBin:encodebin0/GstStreamCombiner:streamcombiner0.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)high, level=(string)4, width=(int)544, height=(int)576, pixel-aspect-ratio=(fraction)64/33, framerate=(fraction)25/1, codec_data=(buffer)404409361803c489a8
/GstPipeline:pipeline0/GstTranscoder:transcoder/GstEncodeBin:encodebin0/GstStreamCombiner:streamcombiner0.GstStreamCombinerPad:encodingsink: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, profile=(string)high, level=(string)4, width=(int)544, height=(int)576, pixel-aspect-ratio=(fraction)64/33, framerate=(fraction)25/1, codec_data=(buffer)404409361803c489a8
0:55:35.347103585 9358 0x74b01b80 DEBUG videoencoder gstvideoencoder.c:1658:gst_video_encoder_negotiate_default:<omxh264enc-omxh264enc0> ALLOCATION (1) params: allocation query: 0x68a3e8f0, GstQueryAllocation, caps=(GstCaps)"video/x-h264\,\ stream-format\=\(string\)byte-stream\,\ alignment\=\(string\)au\,\ profile\=\(string\)high\,\ level\=\(string\)4\,\ width\=\(int\)544\,\ height\=\(int\)576\,\ pixel-aspect-ratio\=\(fraction\)64/33\,\ framerate\=\(fraction\)25/1\,\ codec_data\=\(buffer\)404409361803c489a8", need-pool=(boolean)true, allocator=(GArray)NULL;
0:55:35.354795216 9358 0x74b01b80 DEBUG omxvideoenc gstomxvideoenc.c:762:gst_omx_video_enc_loop:<omxh264enc-omxh264enc0> Finished frame: ok
0:55:35.355044328 9358 0x74b01b80 DEBUG omxvideoenc gstomxvideoenc.c:770:gst_omx_video_enc_loop:<omxh264enc-omxh264enc0> Read frame from component
0:55:35.355084796 9358 0x74b01b80 DEBUG omxvideoenc gstomxvideoenc.c:753:gst_omx_video_enc_loop:<omxh264enc-omxh264enc0> Handling buffer: 0x00000490 0
0:55:35.355134327 9358 0x74b01b80 DEBUG omxh264enc gstomxh264enc.c:618:gst_omx_h264_enc_handle_output_frame:<omxh264enc-omxh264enc0> got codecconfig in byte-stream format
0:55:35.355169639 9358 0x74b01b80 DEBUG omxvideoenc gstomxvideoenc.c:762:gst_omx_video_enc_loop:<omxh264enc-omxh264enc0> Finished frame: ok
0:55:35.355347970 9358 0x74b01b80 DEBUG omxvideoenc gstomxvideoenc.c:770:gst_omx_video_enc_loop:<omxh264enc-omxh264enc0> Read frame from component
0:55:35.355378907 9358 0x74b01b80 DEBUG omxvideoenc gstomxvideoenc.c:753:gst_omx_video_enc_loop:<omxh264enc-omxh264enc0> Handling buffer: 0x00000430 3336240000
0:55:35.355423594 9358 0x74b01b80 DEBUG videoencoder gstvideoencoder.c:500:gst_video_encoder_set_headers:<omxh264enc-omxh264enc0> new headers 0x731f4e20
0:55:35.355464687 9358 0x74b01b80 DEBUG omxvideoenc gstomxvideoenc.c:586:gst_omx_video_enc_handle_output_frame:<omxh264enc-omxh264enc0> Handling output data
0:55:35.355504114 9358 0x74b01b80 DEBUG videoencoder gstvideoencoder.c:2117:gst_video_encoder_finish_frame:<omxh264enc-omxh264enc0> Sending headers
0:55:35.355882808 9358 0x74b01b80 DEBUG omxvideoenc gstomxvideoenc.c:762:gst_omx_video_enc_loop:<omxh264enc-omxh264enc0> Finished frame: not-negotiated
0:55:35.356075305 9358 0x74b01b80 DEBUG omxvideoenc gstomxvideoenc.c:770:gst_omx_video_enc_loop:<omxh264enc-omxh264enc0> Read frame from component
0:55:35.356120045 9358 0x74b01b80 WARN omxvideoenc gstomxvideoenc.c:843:gst_omx_video_enc_loop:<omxh264enc-omxh264enc0> error: Internal data stream error.
0:55:35.356148690 9358 0x74b01b80 WARN omxvideoenc gstomxvideoenc.c:843:gst_omx_video_enc_loop:<omxh264enc-omxh264enc0> error: stream stopped, reason not-negotiated
0:55:35.402848003 9358 0x75528030 DEBUG omxvideoenc gstomxvideoenc.c:1460:gst_omx_video_enc_handle_frame:<omxh264enc-omxh264enc0> Handling frame
ERROR: from element /GstPipeline:pipeline0/GstTranscoder:transcoder/GstEncodeBin:encodebin0/GstOMXH264Enc-omxh264enc:omxh264enc-omxh264enc0: Internal data stream error.
Additional debug info:
gstomxvideoenc.c(843): gst_omx_video_enc_loop (): /GstPipeline:pipeline0/GstTranscoder:transcoder/GstEncodeBin:encodebin0/GstOMXH264Enc-omxh264enc:omxh264enc-omxh264enc0:
stream stopped, reason not-negotiated
Execution ended after 0:55:35.377031725
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
0:55:35.609748254 9358 0x2114e00 DEBUG omxvideoenc gstomxvideoenc.c:916:gst_omx_video_enc_stop:<omxh264enc-omxh264enc0> Stopping encoder
0:55:35.612063957 9358 0x2114e00 DEBUG omxvideoenc gstomxvideoenc.c:364:gst_omx_video_enc_shutdown:<omxh264enc-omxh264enc0> Shutting down encoder
0:55:35.740784212 9358 0x2114e00 DEBUG omxvideoenc gstomxvideoenc.c:387:gst_omx_video_enc_close:<omxh264enc-omxh264enc0> Closing encoder
0:55:35.740867128 9358 0x2114e00 DEBUG omxvideoenc gstomxvideoenc.c:364:gst_omx_video_enc_shutdown:<omxh264enc-omxh264enc0> Shutting down encoder
Setting pipeline to NULL ...
0:55:35.757703708 9358 0x2114e00 DEBUG videoencoder gstvideoencoder.c:852:gst_video_encoder_finalize:<omxh264enc-omxh264enc0> finalize
Freeing pipeline …
Regards,
Graham
—
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 3240 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20161121/0361b4fc/attachment.bin>
More information about the gstreamer-devel
mailing list