rtph264pay failed to work
jjinfo
jjinfo at nudt.edu.cn
Mon Sep 26 07:13:03 PDT 2011
Hi,
rtph264pay failed to work on my ARM9 target board.
The target board is based on FSL Mx27 and the mfw_vpuencoder plugin is an video encoder based on MX27 VPU accelerator.
The gstreamer core is 0.10.35, base plugin is 0.10.34, and good plugin is 0.10.30.
The launching command and the debug message is as below:
gst-launch-0.10 -v --gst-debug=rtph264pay:5 videotestsrc ! 'video/x-raw-yuv,format=(fourcc)I420,width=176,height=144,framerate=30/1' ! mfw_vpuencoder codec-type=std_avc width=176 height=144 qp=35 gopsize=30 framerate=25 ! rtph264pay ! udpsink host=192.168.1.222 port=5434
Setting pipeline to PAUSED ...
Product Info: i.MX27
VPU Version: firmware 2.2.5; libvpu: 3.3.2
MFW_GST_VPU_ENCODER_PLUGIN build on Sep 22 2011 14:05:53.
/GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0 .GstPad:src: caps = video/x-raw-yuv, format=(fourcc)I420, width=(int)176, height=(int)144, framerate=(fraction)30/1, color-matrix=(string)sdtv, chroma-site=(string)mpeg2
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.G stPad:src: caps = video/x-raw-yuv, format=(fourcc)I420, width=(int)176, height=(int)144, framerate=(fraction)30/1, color-matrix=(string)sdtv, chroma-site=(string)mpeg2
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.G stPad:sink: caps = video/x-raw-yuv, format=(fourcc)I420, width=(int)176, height=(int)144, framerate=(fraction)30/1, color-matrix=(string)sdtv, chroma-site=(string)mpeg2
/GstPipeline:pipeline0/Mfw GstVPU_Enc:mfwgstvpu_enc0.GstPad:sink: caps = video/x-raw-yuv, format=(fourcc)I420, width=(int)176, height=(int)144, framerate=(fraction)30/1, color-matrix=(string)sdtv, chroma-site=(string)mpeg2
/GstPipeline:pipeline0/Mfw GstVPU_Enc:mfwgstvpu_enc0.GstPad:sink: caps = video/x-raw-yuv, format=(fourcc)I420, width=(int)176, height=(int)144, framerate=(fraction)30/1, color-matrix=(string)sdtv, chroma-site=(string)mpeg2
/GstPipeline:pipeline0/MfwGstVPU_Enc:mfwgstvpu_enc0.GstPad:src: caps = video/x-h264, height=(int)144, width=(int)176, framerate=(fraction)25/1
0:00:21.673947217 1759 0xbdb48 DEBUG rtph264pay gstrtph264pay.c:942:gst_rtp_h264_pay_handle_buffer:<rtph264pay0> got 1327 bytes
0:00:21.675190375 1759 0xbdb48 DEBUG rtph264pay gstrtph264pay.c:1003:gst_rtp_h264_pay_handle_buffer:<rtph264pay0> found first start at 1, bytes left 1326
0:00:21.675997743 1759 0xbdb48 DEBUG rtph264pay gstrtph264pay.c:1036:gst_rtp_h264_pay_handle_buffer:<rtph264pay0> found next start at 9 of size 9
0:00:21.676328420 1759 0xbdb48 DEBUG rtph264pay gstrtph264pay.c:539:gst_rtp_h264_pay_decode_nal: NAL payload len=9
0:00:21.676657066 1759 0xbdb48 DEBUG rtph264pay gstrtph264pay.c:551:gst_rtp_h264_pay_decode_nal: Found SPS 0 3 7 Len=9
0:00:21.677548269 1759 0xbdb48 DEBUG rtph264pay gstrtph264pay.c:1036:gst_rtp_h264_pay_handle_buffer:<rtph264pay0> found next start at 5 of size 5
0:00:21.677884961 1759 0xbdb48 DEBUG rtph264pay gstrtph264pay.c:539:gst_rtp_h264_pay_decode_nal: NAL payload len=5
0:00:21.678206164 1759 0xbdb48 DEBUG rtph264pay gstrtph264pay.c:561:gst_rtp_h264_pay_decode_nal: Found PPS 0 3 8 Len = 5
0:00:21.679047517 1759 0xbdb48 DEBUG rtph264pay gstrtph264pay.c:521:next_start_code: Cannot find next NAL start code. returning 1303
0:00:21.679530675 1759 0xbdb48 DEBUG rtph264pay gstrtph264pay.c:1036:gst_rtp_h264_pay_handle_buffer:<rtph264pay0> found next start at 1303 of size 1303
0:00:21.679883157 1759 0xbdb48 DEBUG rtph264pay gstrtph264pay.c:539:gst_rtp_h264_pay_decode_nal: NAL payload len=1303
0:00:21.680218269 1759 0xbdb48 DEBUG rtph264pay gstrtph264pay.c:570:gst_rtp_h264_pay_decode_nal: NAL: 0 3 5 Len = 1303
/GstPipeline:pipeline0/GstRtpH264Pay:rtph264pay0.GstPad:src: caps = application/x-rtp, media=(string)NULL, clock-rate=(int)0 , encoding-name=(string)NULL, sprop-parameter-sets=(string)\"Z0IAHqaCxOQA\\,aM44gAA\\=\", payload=(int)96, ssrc=(uint)3064141093, clock-base=(uint)2131484364, seqnum-base=(uint)3426
0:00:21.683859848 1759 0xbdb48 DEBUG rtph264pay gstrtph264pay.c:705:gst_rtp_h264_pay_payload_nal:<rtph264pay0> Processing Buffer with NAL TYPE=7
0:00:21.684295187 1759 0xbdb48 DEBUG rtph264pay gstrtph264pay.c:753:gst_rtp_h264_pay_payload_nal:<rtph264pay0> NAL Unit fit in one packet datasize=8 mtu=1400
0:00:21.684848044 1759 0xbdb48 DEBUG rtph264pay gstrtph264pay.c:801:gst_rtp_h264_pay_payload_nal:<rtph264pay0> Copying 8 bytes to outbuf
ERROR: from element /GstPipeline:pipeline0/GstRtpH264Pay:rtph264pay0: Element doesn't implement handling of this stream. Please file a bug.
Additional debug info:
gstbasertppayload.c(843): gst_basertppayload_prepare_push (): /GstPipeline:pipeline0/GstRtpH264Pay:rtph264pay0:
subclass did not specify clock-rate
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
/GstPipeline:pipeline0/GstRtpH264Pay:rtph264pay0.GstPad:src: caps = NULL
(gst-launch-0.10:1759): GLib-GObject-WARNING **: invalid unclassed pointer in cast to `GstMiniObject'
(gst-launch-0.10:1759): GStreamer-CRITICAL **: gst_mini_object_unref: assertion `GST_IS_MINI_OBJECT (mini_object)' failed
/GstPipeline:pipeline0/MfwGstVPU_Enc:mfwgstvpu_enc0.GstPad:src: caps = NULL
/GstPipeline:pipeline0/MfwGstVPU_Enc:mfwgstvpu_enc0.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = NULL
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0.GstPad:src: caps = NULL
Freeing pipeline ...
The debug message "subclass did not specify clock-rate" comes from
gst_basertppayload_prepare_push() in gstbasertppayload.c, when payload->clock_rate is 0.
In gstrtph264pay.c, there is a function gst_rtp_h264_pay_setcaps() which set the clock_rate field
by calling gst_basertppayload_set_options (basepayload, "video", TRUE, "H264", 90000).
So it seems that function gst_rtp_h264_pay_setcaps() is never called.
What's the functionality of the "set_caps" field of structure GstBaseRTPPayloadClass?
When it got called?
Regards,
Robbie
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20110926/8fa77abf/attachment.html>
More information about the gstreamer-devel
mailing list