svvitch
digital signage player
D:/vs_workspace/switch_sf/src/svvitch/FFAudioDecoder.h
Go to the documentation of this file.
00001 #pragma once
00002 
00003 #include "FFBaseDecoder.h"
00004 
00005 
00010 class FFAudioDecoder: public FFBaseDecoder
00011 {
00012 friend class FFMovieContent;
00013 private:
00014     static const int BUFFER_SIZE = AVCODEC_MAX_AUDIO_FRAME_SIZE * 3;
00015 
00016     LPDIRECTSOUNDBUFFER _buffer;
00017     DWORD _bufferOffset;
00018     DWORD _bufferSize;
00019 
00020     bool _running;
00021 
00022     uint8_t* _data;
00023     int _dataOffset;
00024     int _len;
00025 
00026     DWORD _playCursor;
00027     DWORD _writeCursor;
00028 
00029 
00030     FFAudioDecoder(Renderer& renderer, AVFormatContext* ic, const int streamNo);
00031 
00032     virtual ‾FFAudioDecoder();
00033 
00034 
00035     virtual bool isReady();
00036 
00037     void start();
00038 
00039     const UINT bufferedFrames();
00040 
00041     void decode();
00042 
00043     void writeData();
00044 
00045     void finishedPacket();
00046 
00047     bool playing();
00048 
00049     void play();
00050 
00051     void stop();
00052 };
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines