summaryrefslogtreecommitdiffstats
path: root/loader/dshow/DS_AudioDecoder.c
diff options
context:
space:
mode:
Diffstat (limited to 'loader/dshow/DS_AudioDecoder.c')
-rw-r--r--loader/dshow/DS_AudioDecoder.c38
1 files changed, 19 insertions, 19 deletions
diff --git a/loader/dshow/DS_AudioDecoder.c b/loader/dshow/DS_AudioDecoder.c
index cb6cb47d9e..26ad1406e1 100644
--- a/loader/dshow/DS_AudioDecoder.c
+++ b/loader/dshow/DS_AudioDecoder.c
@@ -4,12 +4,13 @@
Copyright 2001 Eugene Kuznetsov (divx@euro.ru)
*********************************************************/
+
#include "DS_AudioDecoder.h"
+#include <string.h>
+#include <stdio.h>
+
+// using namespace std;
-#include <cstdio>
-#include <cstring>
-#include <string>
-#include <iostream>
#define __MODULE__ "DirectShow audio decoder"
const GUID FORMAT_WaveFormatEx = {
0x05589f81, 0xc356, 0x11CE,
@@ -24,17 +25,16 @@ const GUID MEDIASUBTYPE_PCM = {
{ 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71 }
};
-using namespace std;
-
typedef long STDCALL (*GETCLASS) (GUID*, GUID*, void**);
DS_AudioDecoder::DS_AudioDecoder(const CodecInfo& info, const WAVEFORMATEX* wf)
: IAudioDecoder(info, wf), m_pDS_Filter(0), m_sVhdr(0), m_sVhdr2(0)
{
- m_sVhdr=new char[18 + wf->cbSize];
- memcpy(m_sVhdr, wf, 18 + wf->cbSize);
- m_sVhdr2=new char[18 + wf->cbSize];
- memcpy(m_sVhdr2, m_sVhdr, 18 + wf->cbSize);
+ int sz = 18 + wf->cbSize;
+ m_sVhdr=new char[sz];
+ memcpy(m_sVhdr, wf, sz);
+ m_sVhdr2=new char[sz];
+ memcpy(m_sVhdr2, m_sVhdr, sz);
WAVEFORMATEX* pWF=(WAVEFORMATEX*)m_sVhdr2;
pWF->wFormatTag=1;
pWF->wBitsPerSample=16;
@@ -51,7 +51,7 @@ DS_AudioDecoder::DS_AudioDecoder(const CodecInfo& info, const WAVEFORMATEX* wf)
m_sOurType.bFixedSizeSamples=true;
m_sOurType.bTemporalCompression=false;
m_sOurType.pUnk=0;
- m_sOurType.cbFormat=18+wf->cbSize;
+ m_sOurType.cbFormat=sz;
m_sOurType.pbFormat=m_sVhdr;
memset(&m_sDestType, 0, sizeof(m_sDestType));
@@ -62,7 +62,7 @@ DS_AudioDecoder::DS_AudioDecoder(const CodecInfo& info, const WAVEFORMATEX* wf)
m_sDestType.bTemporalCompression=false;
m_sDestType.lSampleSize=2*wf->nChannels;
m_sDestType.pUnk=0;
- m_sDestType.cbFormat=18;
+ m_sDestType.cbFormat=pWF->cbSize;
m_sDestType.pbFormat=m_sVhdr2;
try
@@ -95,19 +95,19 @@ DS_AudioDecoder::~DS_AudioDecoder()
delete m_pDS_Filter;
}
-int DS_AudioDecoder::Convert(const void* in_data, size_t in_size,
- void* out_data, size_t out_size,
- size_t* size_read, size_t* size_written)
+int DS_AudioDecoder::Convert(const void* in_data, uint_t in_size,
+ void* out_data, uint_t out_size,
+ uint_t* size_read, uint_t* size_written)
{
if (!in_data || !out_data)
return -1;
- size_t written = 0;
- size_t read = 0;
+ uint_t written = 0;
+ uint_t read = 0;
in_size -= in_size%in_fmt.nBlockAlign;
while (in_size>0)
{
- size_t frame_size=0;
+ uint_t frame_size=0;
char* frame_pointer;
// m_pOurOutput->SetFramePointer(out_data+written);
m_pDS_Filter->m_pOurOutput->SetFramePointer(&frame_pointer);
@@ -116,7 +116,7 @@ int DS_AudioDecoder::Convert(const void* in_data, size_t in_size,
m_pDS_Filter->m_pAll->vt->GetBuffer(m_pDS_Filter->m_pAll, &sample, 0, 0, 0);
if(!sample)
{
- Debug cerr<<"DS_AudioDecoder::Convert() Error: null sample"<<endl;
+ Debug printf("DS_AudioDecoder::Convert() Error: null sample\n");
break;
}
char* ptr;