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
