Ignore:
Timestamp:
12/15/07 14:49:14 (16 years ago)
Author:
radscorpion
Message:

Decoder now can decode and play SV8 streams. It can be used along with old RadLight filter, which will take care of SV7 files.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • dsfilters/dec_mpc/src/mpc_filter.h

    r370 r371  
    1111#define CMD_STOP                1
    1212#define CMD_RUN                 2
     13
     14//-----------------------------------------------------------------------------
     15//
     16//      CMPCReader class
     17//
     18//-----------------------------------------------------------------------------
     19class CMPCReader
     20{
     21public:
     22        BYTE            *buf;           // out internal buffer
     23        int                     size;           // also the size
     24        int                     pos;            // position
     25        mpc_reader      rd;                     // this is the interface for libmpc
     26
     27public:
     28        CMPCReader();
     29        virtual ~CMPCReader();
     30
     31        // I/O methods
     32        int Read(void *buf, int size);          // read data
     33        bool Seek(int offset);                          // seek to position
     34        int Tell();                                                     // tell current position
     35        int GetSize();                                          // get total size
     36        bool CanSeek();                                         // is seekable ?
     37
     38        // pass buffers to reader
     39        void SetData(BYTE *data, int size);
     40        void AppendSE();
     41};
    1342
    1443
     
    2655        CCritSec                        lock_filter;
    2756        WAVEFORMATEX            wfOut;
     57
     58        // comes in media type
     59        CMediaType                      mtIn;
     60        BYTE                            *decoder_specific;
     61        int                                     decoder_specific_size;
     62
     63        // musepack internals
     64        CMPCReader                      reader;
     65        mpc_streaminfo          stream_info;
     66        mpc_bits_reader         bits;
     67        mpc_demux                       *demux;
    2868
    2969public:
     
    5494        // decoding input packets
    5595        virtual HRESULT Receive(IMediaSample *pSample);
    56         //HRESULT DeliverSamples(int16 *input, int time_count);
    5796        virtual HRESULT GetDeliveryBuffer(IMediaSample **sample);
     97
     98        // Initialization from decoder_specific
     99        int OpenDemux(mpc_demux **dmx, mpc_streaminfo *si);
    58100
    59101};
    60102
    61103
     104
     105
     106
     107
     108
     109
     110
     111
     112
     113
Note: See TracChangeset for help on using the changeset viewer.