Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

LibMadPlugin Class Reference

#include </home/clem/local/src/opie/core/multimedia/opieplayer/libmad/libmadplugin.h>

Inheritance diagram for LibMadPlugin:

Inheritance graph
[legend]
Collaboration diagram for LibMadPlugin:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 LibMadPlugin ()
 ~LibMadPlugin ()
const char * pluginName ()
const char * pluginComment ()
double pluginVersion ()
bool isFileSupported (const QString &)
bool open (const QString &)
bool close ()
bool isOpen ()
const QStringfileInfo ()
int audioStreams ()
int audioChannels (int stream)
int audioFrequency (int stream)
int audioSamples (int stream)
bool audioSetSample (long sample, int stream)
long audioGetSample (int stream)
bool audioReadSamples (short *output, int channels, long samples, long &samplesRead, int stream)
bool read ()
bool decode (short *output, long samples, long &samplesRead)
void printID3Tags ()
int videoStreams ()
int videoWidth (int)
int videoHeight (int)
double videoFrameRate (int)
int videoFrames (int)
bool videoSetFrame (long, int)
long videoGetFrame (int)
bool videoReadFrame (unsigned char **, int, int, int, int, ColorFormat, int)
bool videoReadScaledFrame (unsigned char **, int, int, int, int, int, int, ColorFormat, int)
bool videoReadYUVFrame (char *, char *, char *, int, int, int, int, int)
double getTime ()
bool setSMP (int)
bool setMMX (bool)
bool supportsAudio ()
bool supportsVideo ()
bool supportsYUV ()
bool supportsMMX ()
bool supportsSMP ()
bool supportsStereo ()
bool supportsScaling ()
long getPlayTime ()

Private Member Functions

int is_address_multicast (unsigned long address)
int udp_open (char *address, int port)
int tcp_open (char *address, int port)
int http_read_line (int tcp_sock, char *buf, int size)
int http_open (const QString &path)

Private Attributes

LibMadPluginDatad
QString info
int bufferSize

Constructor & Destructor Documentation

LibMadPlugin::LibMadPlugin  ) 
 

Definition at line 149 of file libmadplugin.cpp.

References d, Input::data, Input::fd, LibMadPluginData::flush, info, LibMadPluginData::input, tr, and TRUE.

LibMadPlugin::~LibMadPlugin  ) 
 

Definition at line 161 of file libmadplugin.cpp.

References close(), and d.


Member Function Documentation

int LibMadPlugin::audioChannels int  stream  )  [virtual]
 

Implements MediaPlayerDecoder.

Definition at line 549 of file libmadplugin.cpp.

References debugMsg.

int LibMadPlugin::audioFrequency int  stream  )  [virtual]
 

Implements MediaPlayerDecoder.

Definition at line 560 of file libmadplugin.cpp.

References audioReadSamples(), d, debugMsg, LibMadPluginData::frame, mad_frame::header, mad_header::samplerate, and t.

long LibMadPlugin::audioGetSample int  stream  )  [virtual]
 

Implements MediaPlayerDecoder.

Definition at line 613 of file libmadplugin.cpp.

References debugMsg.

bool LibMadPlugin::audioReadSamples short *  output,
int  channels,
long  samples,
long &  samplesRead,
int  stream
[virtual]
 

Implements MediaPlayerDecoder.

Definition at line 794 of file libmadplugin.cpp.

References debugMsg, decode(), FALSE, input, read(), and TRUE.

Referenced by audioFrequency(), and audioSamples().

int LibMadPlugin::audioSamples int  stream  )  [virtual]
 

Implements MediaPlayerDecoder.

Definition at line 568 of file libmadplugin.cpp.

References audioReadSamples(), mad_header::bitrate, d, debugMsg, Input::fileLength, LibMadPluginData::frame, mad_frame::header, LibMadPluginData::input, mad_header_decode(), mad_header::samplerate, LibMadPluginData::stream, and t.

bool LibMadPlugin::audioSetSample long  sample,
int  stream
[virtual]
 

Implements MediaPlayerDecoder.

Definition at line 591 of file libmadplugin.cpp.

References debugMsg, and FALSE.

int LibMadPlugin::audioStreams  )  [virtual]
 

Implements MediaPlayerDecoder.

Definition at line 543 of file libmadplugin.cpp.

References debugMsg.

bool LibMadPlugin::close  )  [virtual]
 

Implements MediaPlayerDecoder.

Definition at line 501 of file libmadplugin.cpp.

References d, Input::data, debugMsg, FALSE, Input::fd, LibMadPluginData::frame, LibMadPluginData::input, Input::length, mad_frame_finish(), mad_stream_finish(), mad_synth_finish, LibMadPluginData::stream, LibMadPluginData::synth, and TRUE.

Referenced by http_open(), and ~LibMadPlugin().

bool LibMadPlugin::decode short *  output,
long  samples,
long &  samplesRead
 

Definition at line 736 of file libmadplugin.cpp.

References audio_pcm(), mad_synth::mad_pcm::channels, d, debugMsg, mad_stream::error, FALSE, LibMadPluginData::flush, LibMadPluginData::frame, mad_synth::mad_pcm::length, MAD_ERROR_BADCRC, mad_frame_decode(), mad_frame_mute(), MAD_RECOVERABLE, mad_synth_frame(), mad_synth::pcm, mad_synth::mad_pcm::samples, LibMadPluginData::stream, LibMadPluginData::synth, and TRUE.

Referenced by audioReadSamples().

const QString& LibMadPlugin::fileInfo  )  [inline, virtual]
 

Implements MediaPlayerDecoder.

Definition at line 48 of file libmadplugin.h.

References info.

long LibMadPlugin::getPlayTime  )  [inline, virtual]
 

Reimplemented from MediaPlayerDecoder.

Definition at line 101 of file libmadplugin.h.

double LibMadPlugin::getTime  )  [virtual]
 

Implements MediaPlayerDecoder.

Definition at line 821 of file libmadplugin.cpp.

References debugMsg.

int LibMadPlugin::http_open const QString path  )  [private]
 

Definition at line 314 of file libmadplugin.cpp.

References close(), http_read_line(), info, QString::latin1(), len, message, name, NULL, Opie::Core::perror(), read(), tcp_open(), and tr.

Referenced by open().

int LibMadPlugin::http_read_line int  tcp_sock,
char *  buf,
int  size
[private]
 

Read a http line header. This function read character by character.

Parameters:
tcp_sock the socket use to read the stream
buf a buffer to receive the data
size size of the buffer
Returns:
the size of the stream read or -1 if an error occured

Definition at line 300 of file libmadplugin.cpp.

References read().

Referenced by http_open().

int LibMadPlugin::is_address_multicast unsigned long  address  )  [private]
 

Definition at line 195 of file libmadplugin.cpp.

Referenced by udp_open().

bool LibMadPlugin::isFileSupported const QString  )  [virtual]
 

Implements MediaPlayerDecoder.

Definition at line 167 of file libmadplugin.cpp.

References debugMsg, FALSE, QString::latin1(), QString::left(), and TRUE.

bool LibMadPlugin::isOpen  )  [virtual]
 

Implements MediaPlayerDecoder.

Definition at line 537 of file libmadplugin.cpp.

References d, debugMsg, Input::fd, and LibMadPluginData::input.

bool LibMadPlugin::open const QString  )  [virtual]
 

Implements MediaPlayerDecoder.

Definition at line 432 of file libmadplugin.cpp.

References LibMadPluginData::bad_last_frame, bufferSize, d, Input::data, debugMsg, Input::eof, FALSE, Input::fd, Input::fileLength, LibMadPluginData::flush, LibMadPluginData::frame, http_open(), info, LibMadPluginData::input, Input::length, mad_frame_init(), mad_stream_init(), mad_synth_init(), MPEG_BUFFER_SIZE, Input::path, printID3Tags(), Config::readNumEntry(), Config::setGroup(), LibMadPluginData::stream, LibMadPluginData::synth, and TRUE.

const char* LibMadPlugin::pluginComment  )  [inline, virtual]
 

Implements MediaPlayerDecoder.

Definition at line 40 of file libmadplugin.h.

const char* LibMadPlugin::pluginName  )  [inline, virtual]
 

Implements MediaPlayerDecoder.

Definition at line 39 of file libmadplugin.h.

double LibMadPlugin::pluginVersion  )  [inline, virtual]
 

Implements MediaPlayerDecoder.

Definition at line 41 of file libmadplugin.h.

void LibMadPlugin::printID3Tags  ) 
 

Definition at line 827 of file libmadplugin.cpp.

References d, debugMsg, Input::fd, i, info, LibMadPluginData::input, len, read(), and tr.

Referenced by open().

bool LibMadPlugin::read  ) 
 

Definition at line 631 of file libmadplugin.cpp.

References assert, bufferSize, d, Input::data, debugMsg, Input::eof, FALSE, Input::fd, input, LibMadPluginData::input, len, Input::length, MAD_BUFFER_GUARD, mad_stream_buffer(), mad_stream::next_frame, LibMadPluginData::stream, and TRUE.

Referenced by audioReadSamples(), http_open(), http_read_line(), and printID3Tags().

bool LibMadPlugin::setMMX bool   )  [inline, virtual]
 

Implements MediaPlayerDecoder.

Definition at line 90 of file libmadplugin.h.

References FALSE.

bool LibMadPlugin::setSMP int   )  [inline, virtual]
 

Implements MediaPlayerDecoder.

Definition at line 89 of file libmadplugin.h.

References FALSE.

bool LibMadPlugin::supportsAudio  )  [inline, virtual]
 

Implements MediaPlayerDecoder.

Definition at line 93 of file libmadplugin.h.

References TRUE.

bool LibMadPlugin::supportsMMX  )  [inline, virtual]
 

Implements MediaPlayerDecoder.

Definition at line 96 of file libmadplugin.h.

References TRUE.

bool LibMadPlugin::supportsScaling  )  [inline, virtual]
 

Implements MediaPlayerDecoder.

Definition at line 99 of file libmadplugin.h.

References FALSE.

bool LibMadPlugin::supportsSMP  )  [inline, virtual]
 

Implements MediaPlayerDecoder.

Definition at line 97 of file libmadplugin.h.

References FALSE.

bool LibMadPlugin::supportsStereo  )  [inline, virtual]
 

Implements MediaPlayerDecoder.

Definition at line 98 of file libmadplugin.h.

References TRUE.

bool LibMadPlugin::supportsVideo  )  [inline, virtual]
 

Implements MediaPlayerDecoder.

Definition at line 94 of file libmadplugin.h.

References FALSE.

bool LibMadPlugin::supportsYUV  )  [inline, virtual]
 

Implements MediaPlayerDecoder.

Definition at line 95 of file libmadplugin.h.

References FALSE.

int LibMadPlugin::tcp_open char *  address,
int  port
[private]
 

Definition at line 258 of file libmadplugin.cpp.

References NULL, and sock.

Referenced by http_open().

int LibMadPlugin::udp_open char *  address,
int  port
[private]
 

Definition at line 202 of file libmadplugin.cpp.

References is_address_multicast(), NULL, and sock.

double LibMadPlugin::videoFrameRate int   )  [inline, virtual]
 

Implements MediaPlayerDecoder.

Definition at line 77 of file libmadplugin.h.

int LibMadPlugin::videoFrames int   )  [inline, virtual]
 

Implements MediaPlayerDecoder.

Definition at line 78 of file libmadplugin.h.

long LibMadPlugin::videoGetFrame int   )  [inline, virtual]
 

Implements MediaPlayerDecoder.

Definition at line 80 of file libmadplugin.h.

int LibMadPlugin::videoHeight int   )  [inline, virtual]
 

Implements MediaPlayerDecoder.

Definition at line 76 of file libmadplugin.h.

bool LibMadPlugin::videoReadFrame unsigned char **  ,
int  ,
int  ,
int  ,
int  ,
ColorFormat  ,
int 
[inline, virtual]
 

Implements MediaPlayerDecoder.

Definition at line 81 of file libmadplugin.h.

References FALSE.

bool LibMadPlugin::videoReadScaledFrame unsigned char **  ,
int  ,
int  ,
int  ,
int  ,
int  ,
int  ,
ColorFormat  ,
int 
[inline, virtual]
 

Implements MediaPlayerDecoder.

Definition at line 82 of file libmadplugin.h.

References FALSE.

bool LibMadPlugin::videoReadYUVFrame char *  ,
char *  ,
char *  ,
int  ,
int  ,
int  ,
int  ,
int 
[inline, virtual]
 

Implements MediaPlayerDecoder.

Definition at line 83 of file libmadplugin.h.

References FALSE.

bool LibMadPlugin::videoSetFrame long  ,
int 
[inline, virtual]
 

Implements MediaPlayerDecoder.

Definition at line 79 of file libmadplugin.h.

References FALSE.

int LibMadPlugin::videoStreams  )  [inline, virtual]
 

Implements MediaPlayerDecoder.

Definition at line 74 of file libmadplugin.h.

int LibMadPlugin::videoWidth int   )  [inline, virtual]
 

Implements MediaPlayerDecoder.

Definition at line 75 of file libmadplugin.h.


Member Data Documentation

int LibMadPlugin::bufferSize [private]
 

Definition at line 112 of file libmadplugin.h.

Referenced by open(), and read().

LibMadPluginData* LibMadPlugin::d [private]
 

Definition at line 110 of file libmadplugin.h.

Referenced by audioFrequency(), audioSamples(), close(), decode(), isOpen(), LibMadPlugin(), open(), printID3Tags(), read(), and ~LibMadPlugin().

QString LibMadPlugin::info [private]
 

Definition at line 111 of file libmadplugin.h.

Referenced by fileInfo(), http_open(), LibMadPlugin(), open(), and printID3Tags().


The documentation for this class was generated from the following files:
Generated on Sat Nov 5 17:38:28 2005 for OPIE by  doxygen 1.4.2