[Helix-client-dev] RE: [Clientapps-dev] CR: EGRS-7VBVGU: Video frame is not updated with current position after seeking in pause state

<[email protected]> Mon, 9 Nov 2009 12:22:58 +0100
Newsgroups gmane.comp.multimedia.helix.devel
Message-ID <20D73E2631F7914F868646E119DEC1CE20FCE6ED74@NOK-EUMSG-02.mgdnok.nokia.com>
Hi,

Checked in to 223Cays, 221Cays, 210Cays, HEAD and 420Brizo.

Thanks and Regards,
Debashis.

-----Original Message-----
From: ext Eric Hyche [mailto:[email protected]] 
Sent: Friday, November 06, 2009 8:37 PM
To: Panigrahi Debashis.2 (EXT-Sasken/Bangalore)
Cc: [email protected]; [email protected]
Subject: Re: [Clientapps-dev] CR: EGRS-7VBVGU: Video frame is not updated with current position after seeking in pause state

These changes look good to me.

On Nov 6, 2009, at 12:24 AM, [email protected] wrote:

> "Nokia submits this code under the terms of a commercial contribution 
> agreement with RealNetworks, and I am authorized to contribute this 
> code under said agreement."
>
> Modified by:  [email protected]
>
> Reviewed by:
>
> TSW Id: EGRS-7VBVGU
>
> Date: 11/6/2009
> 	
> Project: SymbianMmf_wm
>
> Synopsis: Video frame is not updated with current position after 
> seeking in pause state
>
> Overview:
> This error was introduced after CR 417-21674 and CPHU-7RJRN9, the 
> first fix introduces an interface to enable pausing and resuming 
> scheduler and the second one resumes the scheduler in audio and video 
> controllers as soon as HXPlayer gets the play command. The problem 
> occurs when we seek after pausing, the Video frame is not updated with 
> current position as scheduler has already been paused.
>
> Fix:
> Now we are resuming the scheduler for a brief time (till the video 
> frame is updated) and then pausing it again. ResumeScheduler() is 
> called after SetPositionL() just to update the Video frame after 
> seeking. Once the video frame has been updated, calling
> m_pAdviseSink->OnPostSeek(,) from HXPlayer::SendPostSeekIfNecessary
> () just to notify HXMMFStateCtrl of OnPostSeek event. An additional 
> interface had to be defined at hxmmfstatectrl observer for this 
> OnPostSeek event to notify the MMF only if we are in Paused state.
> And at the implementation of OnPostSeek() checking if Scheduler is not 
> paused then pausing it.
>
> Files modified & changes:
> /clientapps/symbianMmf/common/hxmmfbasectrl.cpp
> /clientapps/symbianMmf/common/hxmmfbasectrl.h
> /clientapps/symbianMmf/hxmmfstatectrl.cpp
> /clientapps/symbianMmf/hxmmfstatectrlobs.h
> /clientapps/symbianMmf/videocontroller/hxmmfctrlimpl.cpp
> /clientapps/symbianMmf/videocontroller/hxmmfctrlimpl.h
> /clientapps/symbianMmf/audiocontroller/hxmmfaudioctrl.cpp
> /clientapps/symbianMmf/audiocontroller/hxmmfaudioctrl.h
> /client/core/hxplay.cpp
>
> Image Size and Heap Use impact: No major impact
>
> Module Release testing (STIF) : Passed
>
> Test case(s) Added  : No
>
> Memory leak check performed : Passed, No additional leaks introduced.
>
> Platforms and Profiles Build Verified: helix-client-s60-50-mmf-mdf-dsp
>
> Platforms and Profiles Functionality verified: armv5
>
> Branch: 223Cays, 221Cays, 210Cays, HEAD and 420Brizo
>
> CVS Diff on 223Cays: Attached
> <
> hxmmbasectrl.cpp.diff
> > 
> <
> hxmmfstatectrl.cpp.diff
> > 
> <
> hxmmfstatectrlobs.h.diff
> > 
> <
> hxmmbasectrl.h.diff
> > 
> <
> hxmmfctrlimpl.cpp.diff
> > 
> <
> hxmmfctrlimpl.h.diff
> > 
> <
> hxmmfaudioctrl.cpp.diff
> > 
> <
> hxmmfaudioctrl.h.diff
> ><hxplay.cpp.diff>_______________________________________________
> Clientapps-dev mailing list
> [email protected]
> http://lists.helixcommunity.org/mailman/listinfo/clientapps-dev

Eric Hyche ([email protected])
Principal Engineer
RealNetworks, Inc.