Commit 01d4b422 authored by Laurent Aimar's avatar Laurent Aimar

* dmo: - fixed init of WAVEFORMATEX (cbSize is only the size of extra datas).

        - force 16 bits output.
        - support for mplayer loader.
 I can't test under win32 so I hope it still compiles.
parent c1aa70f3
...@@ -32,7 +32,19 @@ ...@@ -32,7 +32,19 @@
#include <vlc/decoder.h> #include <vlc/decoder.h>
#include <vlc/vout.h> #include <vlc/vout.h>
#include <objbase.h> #define LOADER
#ifdef LOADER
# include <wine/winerror.h>
# include <dmo/dmo.h>
# include <dmo/dmo_interfaces.h>
# include <dmo/dmo_guids.h>
# define _RECT32_
# define _GUID_DEFINED
# define _REFERENCE_TIME_
# define _VIDEOINFOHEADER_
#else
# include <objbase.h>
#endif
#include "codecs.h" #include "codecs.h"
#include "dmo.h" #include "dmo.h"
......
This diff is collapsed.
...@@ -36,10 +36,7 @@ static const GUID MEDIASUBTYPE_YV12 = {0x32315659, 0x0000, 0x0010, {0x80, 0x00, ...@@ -36,10 +36,7 @@ static const GUID MEDIASUBTYPE_YV12 = {0x32315659, 0x0000, 0x0010, {0x80, 0x00,
#ifdef WIN32 #ifdef WIN32
# define IUnknown IUnknownHack # define IUnknown IUnknownHack
#endif #endif
typedef struct _IUnknown IUnknown;
typedef struct _IEnumDMO IEnumDMO;
typedef struct _IMediaBuffer IMediaBuffer;
typedef struct _IMediaObject IMediaObject;
#ifndef STDCALL #ifndef STDCALL
#define STDCALL __stdcall #define STDCALL __stdcall
#endif #endif
...@@ -62,6 +59,25 @@ typedef struct ...@@ -62,6 +59,25 @@ typedef struct
} DMO_PARTIAL_MEDIATYPE; } DMO_PARTIAL_MEDIATYPE;
/* Implementation of IMediaBuffer */
typedef struct _CMediaBuffer
{
IMediaBuffer_vt *vt;
int i_ref;
block_t *p_block;
int i_max_size;
vlc_bool_t b_own;
} CMediaBuffer;
CMediaBuffer *CMediaBufferCreate( block_t *, int, vlc_bool_t );
#ifndef LOADER
typedef struct _IUnknown IUnknown;
typedef struct _IEnumDMO IEnumDMO;
typedef struct _IMediaBuffer IMediaBuffer;
typedef struct _IMediaObject IMediaObject;
typedef struct typedef struct
#ifdef HAVE_ATTRIBUTE_PACKED #ifdef HAVE_ATTRIBUTE_PACKED
__attribute__((__packed__)) __attribute__((__packed__))
...@@ -229,16 +245,5 @@ typedef struct IMediaObject_vt ...@@ -229,16 +245,5 @@ typedef struct IMediaObject_vt
} IMediaObject_vt; } IMediaObject_vt;
struct _IMediaObject { IMediaObject_vt* vt; }; struct _IMediaObject { IMediaObject_vt* vt; };
#endif /* !define LOADER */
/* Implementation of IMediaBuffer */
typedef struct _CMediaBuffer
{
IMediaBuffer_vt *vt;
int i_ref;
block_t *p_block;
int i_max_size;
vlc_bool_t b_own;
} CMediaBuffer;
CMediaBuffer *CMediaBufferCreate( block_t *, int, vlc_bool_t );
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment