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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 >>>> [email protected] >>>> https://lists.webkit.org/mailman/listinfo/webkit-dev >>> >>> >>> _______________________________________________ >>> webkit-help mailing list >>> [email protected] >>> https://lists.webkit.org/mailman/listinfo/webkit-help >>> >>> >> >
_______________________________________________ webkit-help mailing list [email protected] https://lists.webkit.org/mailman/listinfo/webkit-help
