mirror of
https://github.com/WinampDesktop/winamp.git
synced 2024-12-11 18:01:02 -05:00
45 lines
1.1 KiB
C++
45 lines
1.1 KiB
C++
#pragma once
|
|
|
|
#include <bfc/dispatch.h>
|
|
|
|
class ifc_mpeg_stream_reader : public Dispatchable
|
|
{
|
|
protected:
|
|
ifc_mpeg_stream_reader() {}
|
|
~ifc_mpeg_stream_reader() {}
|
|
|
|
public:
|
|
int MPEGStream_Peek( void *buffer, size_t to_read, size_t *bytes_read );
|
|
int MPEGStream_Read( void *buffer, size_t to_read, size_t *bytes_read );
|
|
int MPEGStream_EOF();
|
|
float MPEGStream_Gain();
|
|
|
|
DISPATCH_CODES
|
|
{
|
|
MPEGSTREAM_PEEK = 0,
|
|
MPEGSTREAM_READ = 1,
|
|
MPEGSTREAM_EOF = 2,
|
|
MPEGSTREAM_GAIN = 3,
|
|
};
|
|
};
|
|
|
|
inline int ifc_mpeg_stream_reader::MPEGStream_Peek( void *buffer, size_t to_read, size_t *bytes_read )
|
|
{
|
|
return _call( MPEGSTREAM_PEEK, (int)1, buffer, to_read, bytes_read );
|
|
}
|
|
|
|
inline int ifc_mpeg_stream_reader::MPEGStream_Read( void *buffer, size_t to_read, size_t *bytes_read )
|
|
{
|
|
return _call( MPEGSTREAM_READ, (int)1, buffer, to_read, bytes_read );
|
|
}
|
|
|
|
inline int ifc_mpeg_stream_reader::MPEGStream_EOF()
|
|
{
|
|
return _call( MPEGSTREAM_EOF, (int)true );
|
|
}
|
|
|
|
inline float ifc_mpeg_stream_reader::MPEGStream_Gain()
|
|
{
|
|
return _call( MPEGSTREAM_GAIN, (float)1.0f );
|
|
}
|
|
|