[webkit-help] Media Server for WebKit

Jose Lejin jose.lejin at gmail.com
Tue Feb 5 06:12:25 PST 2013


With page refresh, document nodes are recreated. So existing mediaplayer
object is destroyed (garbage collected).  Check which
MediaPlayerPrivateGStreamer instance destructor is called. Looks like what
u r seeing is the first one. Not the current active mediaplayer instance.
So if server response is not associated correctly
with MediaPlayerPrivateGStreamer instance, there will be problems.

For timers refer, 'Timer' class reference in the code.

-Lejin

On Mon, Feb 4, 2013 at 9:51 AM, Kiran K <kiran.pesit at gmail.com> wrote:

> Thanks Jose. I am not sure of page being active when media player is
> destroyed. To test my code, I load a page containing HTML5 video, when
> playback is in progress, I will refresh the page. Most of the times player
> resources are called properly. Some times, MediaPlayerPrivateGStreamer
> destructor is called and when webkit is expecting response from server,
> buffered, duration called also goes to server.  I am thinking that these
> calls are coming from timers. I this scenario, webkit crashes.
>
> Can any one elaborate about the threading and timers in WebKit?
>
> Regards,
> Kiran
>
>
> On Mon, Feb 4, 2013 at 9:01 AM, Jose Lejin <jose.lejin at gmail.com> wrote:
>
>> In Qt port, WebKit node objects will be created and destroyed in the main
>> thread only. So here mediaplayer element also getting created and destroyed
>> in main thread. Is the page active When u r destroying the playback
>> instance ? Normally this mediaplayer object is destroyed after page/view is
>> deleted, by WebKit.
>>
>> -Lejin
>>
>> On Fri, Feb 1, 2013 at 11:12 PM, Kiran K <kiran.pesit at gmail.com> wrote:
>>
>>> Hi All,
>>>
>>> Posted the below query on webkit-dev and got directed here. Any help is
>>> appreciated.
>>>
>>> Regards,
>>> Kiran
>>>
>>>
>>> On 31 January 2013 19:34, Kiran K <kiran.pesit at gmail.com> wrote:
>>> HI All,
>>>
>>> I am working on QtWebKit  on Media Server development. Basic Idea is to
>>> run Gstreamer in seperate process which acts like a Media server. The
>>> calls  from WebKit in MediaPlayerPrivateGStreamer.cpp are routed to Media
>>> Server via DBUS. Media Server implements the methods in
>>> MediaPlayerPrivateGStreamer class. I am basically doing this to have
>>> control over the resources like maximum playback instances, hw codec
>>> control etc. I am able to do achieve playback to some extent. I am facing
>>> some problems  (race conditions) especially when deleting playback
>>> instance. From the logs i concluded that when duration() function is made
>>> and is waiting for response from server, ~MediaPlayerPrivateGStreamer
>>> destructor is getting called. (some times vice versa too). I am suspecting
>>> that the MediaPlayer object is being shared between two threads (or across
>>> timers). Can anybody give me some pointers about HTMLMediaElement  and the
>>> timers involved? Any help is appreciated.
>>>
>>> Thanks,
>>> Kiran
>>>
>>>
>>> ______________________________
>>>>
>>>> _________________
>>>> webkit-dev mailing list
>>>> webkit-dev at lists.webkit.org
>>>> https://lists.webkit.org/mailman/listinfo/webkit-dev
>>>
>>>
>>> _______________________________________________
>>> webkit-help mailing list
>>> webkit-help at lists.webkit.org
>>> https://lists.webkit.org/mailman/listinfo/webkit-help
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-help/attachments/20130205/6a6fb2e7/attachment-0001.html>


More information about the webkit-help mailing list