Try timestamping your media samples using your own calculated timestamps as 
the samples leave your decoder rather than the timestamps from libavcodec.


----- Original Message ----- 
From: "John Smith" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Wednesday, July 09, 2008 3:47 AM
Subject: [libav-user] Directshow MPEG-1 timestamp


>
> Hi,
>
> I wrote a directshow filter using libavcodec to play MPEG 1/2.
> For MPEG 2, it's OK. But for MPEG 1, it flickers all the time.
> Maybe there are some differences in timestamping between MPEG 1 and MPEG 
> 2?
>
> Thanks in advance,
>
> Pathos
>
>
> REFERENCE_TIME rtStart, rtStop;
> pIn->GetTime(&rtStart, &rtStop);
> if (!rtLastTime || (pIn->IsDiscontinuity() == S_OK) || rtStart < 0)
> {
>    if (rtStart > 0 )
>        rtLastTime = rtStart;
>    else
>        rtLastTime += rtFrameTime;
> }
>
> REFERENCE_TIME endtime = rtLastTime + rtFrameTime;
> pOut->SetTime(&rtLastTime, &endtime);
> rtLastTime = endtime;
>
> hr = m_pOutput->Deliver(pOut);
>
>
> _________________________________________________________________
> Need to know now? Get instant answers with Windows Live Messenger.
> http://www.windowslive.com/messenger/connect_your_way.html?ocid=TXT_TAGLM_WL_messenger_072008
> _______________________________________________
> libav-user mailing list
> [email protected]
> https://lists.mplayerhq.hu/mailman/listinfo/libav-user
> 

_______________________________________________
libav-user mailing list
[email protected]
https://lists.mplayerhq.hu/mailman/listinfo/libav-user

Reply via email to