gst-rtsp-server: fail to preroll pipeline in case of audio frame is not received

hardik.panchal hardik.panchal at matrixcomsec.com
Thu Jan 21 12:12:20 UTC 2021


Hello,
I am trying to build RTSP server using gst-rtsp-server library having two of
my own written plugins for application requirement.
In my application use case, I have following pipeline element:

 -----------------         
  stream server  ==> MyTcpPushSrc --> Mydemux  --> demux.video --> h264
parser --> rtppayload
 -----------------                                          |
                                                                 |-->
demux.audio --> adpcm parser -> rtppayload

In the above pipeline I am receiving Video/Audio using TCP from stream
server. Mydemux will bifarcate audio and video frames using specific headers
appended on each frame by stream server.

Case 1: When both audio and video is present in the stream the RTSP media
factory works well and start streaming to RTSP client.

Case 2: When only video is present is the stream and no audio frame is
recevied from stream server in that case my media pipeline fails to preroll
and shuts down.  In this case no SDP reply given to RTSP client.

Is there any  possible mechanism where pipeline don't wait for first audio
frame to arrive, skip the prerolling and change the state of audio pipeline
as and when audio frame arrives. 


My Pipeline used :

mxlivestreamsrc CameraId=1, ServerIp=192.168.111.225, ServerPort=42135 !
mydemux name=demux
demux.video ! queue name=video_queue ! h264parse ! rtph264parse pt=96
name=pay0
demux.audio ! queue name=audio_queue ! audio/x-adpcm, rate=8000,
layout="g726", channels=1, bitrate=16000 ! rtpg726pay name=pay1 pt=97






--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/


More information about the gstreamer-devel mailing list