[Live-devel] MPEG2TransportStreamFramer duration estimate/trickplay

Dermot McGahon dermot at dspsrv.com
Fri Jun 3 12:08:57 PDT 2005


On Wed, 01 Jun 2005 18:58:05 +0100, Ross Finlayson <finlayson at live.com>  
wrote:

> Here's what I'd try:
> 1/ Add the following code to  
> "MPEG2TransportStreamFramer::doStopGettingFrames()":
>          PIDStatus* pidStatus;
>          while ((pidStatus = (PIDStatus*)fPIDStatusTable->RemoveNext())  
> != NULL) {
>                  delete pidStatus;
>          }
> (This will reset the existing PCR/duration estimate.)
> 2/ In VLC's "livedotcom.cpp", just before you do something that might  
> cause the PCR values to change, call
>          tk->readSource->stopGettingFrames();
> (This will cause "MPEG2TransportStreamFramer::doStopGettingFrames()" to  
> get called.)
>
> Let us know if that works.  If so, I'll add 1/ to the released code.

Hi Ross,

Works nicely.

Commenting out, pidStatus->hasJustStarted = False; in
MPEG2TransportStreamFramer::updateTSPacketDurationEstimate()
also worked as a temporary workaround but clearing the pid status
table is much cleaner.

I will add 2/ to my VLC trickplay patches. There is no rush on including
1/ to the released code.


Dermot.
--


More information about the live-devel mailing list