winamp/Src/replicant/mp4/svc_mp4decoder.h

28 lines
923 B
C++

#pragma once
#include "foundation/dispatch.h"
#include "ifc_mp4file.h"
class ifc_mp4audiodecoder;
class ifc_mp4videodecoder;
// {39A53910-CCFE-465D-A46C-F0B95C7DD257}
static const GUID mp4_decoder_service_type_guid =
{ 0x39a53910, 0xccfe, 0x465d, { 0xa4, 0x6c, 0xf0, 0xb9, 0x5c, 0x7d, 0xd2, 0x57 } };
class svc_mp4decoder : public Wasabi2::Dispatchable
{
protected:
svc_mp4decoder() : Dispatchable(DISPATCHABLE_VERSION) {}
~svc_mp4decoder() {}
public:
static GUID GetServiceType() { return mp4_decoder_service_type_guid; }
int CreateAudioDecoder(ifc_mp4file *mp4_file, ifc_mp4file::TrackID mp4_track, ifc_mp4audiodecoder **decoder) { return MP4DecoderService_CreateAudioDecoder(mp4_file, mp4_track, decoder); }
enum
{
DISPATCHABLE_VERSION=0,
};
private:
virtual int WASABICALL MP4DecoderService_CreateAudioDecoder(ifc_mp4file *mp4_file, ifc_mp4file::TrackID mp4_track, ifc_mp4audiodecoder **decoder)=0;
};