m_freq = CurrentHostFrequency();
- m_decode.msg = NULL;
m_messageQueue.SetMaxDataSize(6 * 1024 * 1024);
m_messageQueue.SetMaxTimeSize(8.0);
g_dvdPerformanceCounter.EnableAudioQueue(&m_messageQueue);
void CDVDPlayerAudio::OnStartup()
{
- m_decode.msg = NULL;
m_decode.Release();
g_dvdPerformanceCounter.EnableAudioDecodePerformance(this);
double m_audioClock;
// data for audio decoding
- struct
+ struct PacktetStatus
{
+ PacktetStatus()
+ {
+ msg = NULL;
+ Release();
+ }
+
+ ~PacktetStatus()
+ {
+ Release();
+ }
+
CDVDMsgDemuxerPacket* msg;
BYTE* data;
int size;
void Attach(CDVDMsgDemuxerPacket* msg2)
{
+ if(msg) msg->Release();
msg = msg2;
msg->Acquire();
DemuxPacket* p = msg->GetPacket();