NAL type error when stetting RTP buffer extension data/flags

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

NAL type error when stetting RTP buffer extension data/flags

debruyn
Good day guys,

So on this project i need to set extension data on a pipeline  that pulls a RTSP stream from a camera and sends it over UDP. This is done on a seperate ARM board and the pipe architecture is as follows : rtspsrc | queue2 | udpsink. For this part i just set the extension flag of each buffer code (note this is done on the queue2 element):

        GstBuffer * gstBuffer = GST_PAD_PROBE_INFO_BUFFER(_gstProbeInfo);
    CamPipeline* oPipeObject = (CamPipeline*) _gstData;
    GstRTPBuffer rtpBuffer;
    memset (&rtpBuffer, 0, sizeof(GstRTPBuffer));

    if(gst_rtp_buffer_map(gstBuffer,(GstMapFlags)GST_MAP_READWRITE,&rtpBuffer))
    {
        gst_rtp_buffer_set_extension(&rtpBuffer,TRUE);
        gst_rtp_buffer_unmap(&rtpBuffer);
    }


On the PC i catch the pipe and then use it as desired. The pipe architecture for this instance looks like follows: udpsrc | rtph264depay | queue2_1 | valve | queue2_2  | avdec_h264 | theoraenc | oggmux | shout2send. The following code catches the buffer and get the rtp data set(Note this is on the queue2_1) :

    GstBuffer * gstBuffer = GST_PAD_PROBE_INFO_BUFFER(_gstProbeInfo);
    CamPipeline* oPipeObject = (CamPipeline*) _gstData;

    GstRTPBuffer rtpBuffer;
    memset (&rtpBuffer, 0, sizeof(GstRTPBuffer));
    if(gst_rtp_buffer_map(gstBuffer,(GstMapFlags)GST_MAP_READWRITE,&rtpBuffer))
    {
        oPipeObject->debug("extension: %d",gst_rtp_buffer_get_extension(&rtpBuffer));
        gst_rtp_buffer_unmap(&rtpBuffer);
    }


What happens is that the pipe is never set to the playing state and then eventually the following error is printed from gstreamer :

1468241421 DEBUG CamPipeline : Error received from element depayloader: The stream is in the wrong format.

1468241421 DEBUG CamPipeline : Debugging information: gstrtph264depay.c(1216): gst_rtp_h264_depay_process (): /GstPipeline:stream-pipeline/GstRtpH264Depay:depayloader:
NAL unit type 26 not supported yet


If I remove the flag being set on the  ARM board the error disappears and the pipe is set to playing
Can anyone plz help with this

Regards
De Bruyn
Reply | Threaded
Open this post in threaded view
|

Re: NAL type error when stetting RTP buffer extension data/flags

debruyn
SOmetimes the NAL typeis also 27 if that helps