mrayGStreamerUnity icon indicating copy to clipboard operation
mrayGStreamerUnity copied to clipboard

Hang in GstPipelineHandler::Stop()

Open XPav opened this issue 2 years ago • 0 comments

Using rtspclientsink in a custom pipeline resulted in a hang in GstPipelineHandler::Stop(). The function would get called twice for the pipeline, and hang the second time through the call awaiting the READY to PAUSE state change.

Stack trace showed it down in gstrtspclientsink.c, waiting for a connection to be started again.

To fix, I added a single line after the mutex lock checking to see if the pipeline was already paused and not playing, and if so, don't do anymore state changes.

if (m_data->paused == true && m_data->playing == false) return;

XPav avatar Apr 28 '23 18:04 XPav