<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style>
</head>
<body class='hmmessage'>
Hi All,<div><br></div><div>I am writing a source plugin with one always video source pad and a sometime audio source pad.</div><div><br></div><div>To test it i made a pipeline where i connect my element to an xvimagesink and an alsasink using the pad-added signal for the later.</div><div><br></div><div>When i close the X window i exit the main loop and set the pipeline state to NULL.</div><div><br></div><div>In my element when going from PLAYING to PAUSE i call gst_pad_stop_task on each pad.</div><div><br></div><div>The application main thread is locked in the gst_pad_stop_task call on my element audio pad.</div><div>My element audio pad's task thread is locked in gst_pad_push.</div><div><br></div><div>The source code shows that gst_pad_push is waiting in GST_PAD_PREROLL_WAIT on the alsasink sink pad for either a PLAYING state or a flush.</div><div>gst_pad_stop_task is locked in GST_PAD_STREAM_LOCK logically as the stream lock is already acquired by my element audio pad's task function.</div><div><br></div><div>Is there something i should do in my element before calling gst_pad_stop_task ? Should i even call it there ? Any part of the documentation i have missed ?</div><div><br></div><div>Thanks for your help,</div><div><br></div><div>Pierre</div><div><br></div><div><br></div>                                            </body>
</html>