Mercurial > mplayer.hg
view loader/dshow/cmediasample.h @ 37104:91b00a4407cd
demux_real: Improve buffer allocation for interleaved audio handling.
Allocate buffers where they are needed.
This avoids code duplication, allocating them when they are not
needed, and might avoid a crash if an audio stream is specified
via -aid that does not exist in the headers but does exist in the
file since then we might run the deinterleaving without having
the buffers allocated first (note: I have not tested this can
actually happen).
author | reimar |
---|---|
date | Tue, 13 May 2014 21:06:38 +0000 |
parents | a8ea87c71d18 |
children |
line wrap: on
line source
#ifndef MPLAYER_CMEDIASAMPLE_H #define MPLAYER_CMEDIASAMPLE_H #include "interfaces.h" #include "guids.h" typedef struct CMediaSample CMediaSample; struct CMediaSample { IMediaSample_vt* vt; DECLARE_IUNKNOWN(); IMemAllocator* all; int size; int actual_size; char* block; char* own_block; int isPreroll; int isSyncPoint; int isDiscontinuity; LONGLONG time_start; LONGLONG time_end; AM_MEDIA_TYPE media_type; int type_valid; void ( *SetPointer) (CMediaSample* This, char* pointer); void ( *ResetPointer) (CMediaSample* This); // FIXME replace with Set & 0 }; CMediaSample* CMediaSampleCreate(IMemAllocator* allocator, int size); // called from allocator void CMediaSample_Destroy(CMediaSample* This); #endif /* MPLAYER_CMEDIASAMPLE_H */