3 #if !defined(PL_MPEG_IMPLEMENTATION)
4 #include <ext/pl_mpeg/pl_mpeg.h>
17 using std::unique_ptr;
46 void openFile(
const string& pathName,
const string& fileName)
override;
47 void reset()
override;
48 void update(
float deltaTime)
override;
49 void seek(
float time)
override;
52 void close()
override;
55 plm_t*
plm {
nullptr };
65 static void plmOnVideo(plm_t*
plm, plm_frame_t *frame,
void *user);
73 static void plmOnAudio(plm_t*
plm, plm_samples_t *samples,
void *user);
PL_MPEG/MPEG1 video decoder.
int64_t readVideoFromStream(ByteBuffer *data) override
Read raw RGB video data from stream.
void close() override
Closes the audio file.
int64_t readAudioFromStream(ByteBuffer *data) override
Read raw PCM data from stream.
unique_ptr< ByteBuffer > audioBuffer
void update(float deltaTime) override
Update.
unique_ptr< ByteBuffer > videoBuffer
void seek(float time) override
Update.
static void plmOnVideo(plm_t *plm, plm_frame_t *frame, void *user)
PLM on video.
virtual ~MPEG1Decoder()
Destructor.
void reset() override
Resets this video decoder, if a stream was open it will be rewinded.
void openFile(const string &pathName, const string &fileName) override
Open a local file.
static void plmOnAudio(plm_t *plm, plm_samples_t *samples, void *user)
PLM on audio.
Video decoder base class.
#define FORBID_CLASS_COPY(CLASS)