Making mmssrc asynchronous

Johan Thelin johan.thelin at pelagicore.com
Thu Apr 7 05:33:49 PDT 2011


On 4 April 2011 11:23, Wim Taymans <wim.taymans at gmail.com> wrote:
> On 04/04/2011 11:19 AM, Johan Thelin wrote:
>> I'm facing an issue with the non-asynchronous mmssrc and need to
>> resolve it (at least for the connection phase). My basic plan is to:
>>
>> [...]
>
> You might want to take a look at how the async connections are done
> in rtspsrc here:
> http://cgit.freedesktop.org/~wtay/gst-plugins-good/log/?h=progress
>
> It uses the progress messages to inform the app of the async progress.
> Also check out the design docs for the progress messages.

Great input! Thanks. Solving the issue that way looks like a complete
rewrite of the source to me. What I have done in the code attached, is
that I have put the initial mmsx_connect call in a GstTask. This
prevents the mmssrc from locking up the event loop for a long time at
this point (which was my major issue for the moment).

However, there are two issues:

I do not read the data using a GstTask, so I suppose a server dropping
of the radar while listening to it would probably still lock the
application.

In the finalize method, I have a situation where I might have a live
GstTask (which is blocking on a socket). Trying to do a gst_task_join
will freeze the application here, so that is not an option. For the
moment, I simply do nothing - which I suspect is a leak.

Best regards,

-- 
Johan Thelin M.Sc.E.E.
Senior Software Developer

Pelagicore AB
Ekelundsgatan 4, 6tr, SE-411 18 Gothenburg, Sweden
Mobile: +46 (0)700 900 250
Skype: jothpelagicore
E-Mail: johan.thelin at pelagicore.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: non-blocking-mms-v2.patch
Type: text/x-patch
Size: 18429 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20110407/6fdcb587/attachment-0001.bin>


More information about the gstreamer-devel mailing list