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

XINE::Lib Class Reference

#include </home/clem/local/src/opie/noncore/multimedia/opieplayer2/lib.h>

Inheritance diagram for XINE::Lib:

Inheritance graph
[legend]
Collaboration diagram for XINE::Lib:

Collaboration graph
[legend]
List of all members.

Public Types

enum  InitializationMode { InitializeImmediately, InitializeInThread }

Signals

void stopped ()
void initialized ()

Public Member Functions

 Lib (InitializationMode initMode, XineVideoWidget *=0)
 ~Lib ()
void resize (const QSize &s)
int setfile (const QString &fileName)
int play (const QString &fileName, int startPos=0, int start_time=0)
void stop ()
void pause (bool toggle)
int speed () const
void setSpeed (int speed=XINE_SPEED_PAUSE)
int status () const
int currentPosition () const
int currentTime () const
int length () const
bool isSeekable () const
void setShowVideo (bool video)
bool isShowingVideo () const
void showVideoFullScreen (bool fullScreen)
bool isVideoFullScreen () const
QString metaInfo (int number) const
bool isScaling () const
void seekTo (int time)
bool hasVideo () const
void setScaling (bool)
void setGamma (int)
int error () const
void ensureInitialized ()
void setWidget (XineVideoWidget *widget)
QSize videoSize () const
int audioBitrate () const
int videoBitrate () const

Static Public Member Functions

static int majorVersion ()
static int minorVersion ()
static int subVersion ()

Protected Member Functions

virtual void receiveMessage (ThreadUtil::ChannelMessage *msg, SendType sendType)
virtual void run ()

Private Member Functions

void initialize ()
void handleXineEvent (const xine_event_t *t)
void handleXineEvent (int type, int data, const char *name)
void drawFrame (uint8_t *frame, int width, int height, int bytes)

Static Private Member Functions

static void xine_event_handler (void *user_data, const xine_event_t *t)
static void xine_display_frame (void *user_data, uint8_t *frame, int width, int height, int bytes)
static void xine_vo_scale_cb (void *, int, int, double, int *, int *, int *, int *, double *, int *, int *)
static void xine_dest_cb (void *, int, int, double, int *, int *, double *)

Private Attributes

int m_bytes_per_pixel
bool m_initialized:1
bool m_duringInitialization:1
bool m_video:1
XineVideoWidgetm_wid
QSize m_videoSize
xine_t * m_xine
xine_stream_t * m_stream
xine_cfg_entry_t * m_config
xine_vo_driver_t * m_videoOutput
xine_ao_driver_t * m_audioOutput
xine_event_queue_t * m_queue

Detailed Description

Lib wrapps the simple interface of libxine for easy every day use This will become a full C++ Wrapper It supports playing, pausing, info, stooping, seeking.

Definition at line 52 of file lib.h.


Member Enumeration Documentation

enum XINE::Lib::InitializationMode
 

Enumeration values:
InitializeImmediately 
InitializeInThread 

Definition at line 56 of file lib.h.


Constructor & Destructor Documentation

Lib::Lib InitializationMode  initMode,
XineVideoWidget = 0
 

Definition at line 67 of file lib.cpp.

References QFile::exists(), f, QDir::homeDirPath(), initialize(), InitializeImmediately, IO_WriteOnly, m_duringInitialization, m_initialized, m_video, m_wid, QFile::open(), printf, and ThreadUtil::Thread::start().

Lib::~Lib  ) 
 

Definition at line 143 of file lib.cpp.

References assert, ThreadUtil::Thread::isRunning(), m_audioOutput, m_initialized, m_queue, m_stream, m_videoOutput, and m_xine.


Member Function Documentation

int Lib::audioBitrate  )  const
 

Definition at line 313 of file lib.cpp.

References m_initialized, and m_stream.

int Lib::currentPosition  )  const
 

Definition at line 246 of file lib.cpp.

References assert, length(), m_initialized, m_stream, and pos.

int Lib::currentTime  )  const
 

Definition at line 254 of file lib.cpp.

References assert, length(), m_initialized, m_stream, and pos.

Referenced by XineControl::currentTime(), PMainWindow::slotCheckPos(), and PMainWindow::slotPlayCurrent().

void Lib::drawFrame uint8_t *  frame,
int  width,
int  height,
int  bytes
[private]
 

Definition at line 484 of file lib.cpp.

References assert, m_initialized, m_video, and m_wid.

void Lib::ensureInitialized  ) 
 

Definition at line 354 of file lib.cpp.

References m_initialized, odebug, oendl, and ThreadUtil::Thread::wait().

Referenced by PlaylistView::checkLib(), and XineControl::XineControl().

int Lib::error  )  const
 

Returns the error code XINE_ERROR_NONE 0 XINE_ERROR_NO_INPUT_PLUGIN 1 XINE_ERROR_NO_DEMUXER_PLUGIN 2 XINE_ERROR_DEMUXER_FAILED 3

Definition at line 348 of file lib.cpp.

References assert, m_initialized, and m_stream.

Referenced by PlaylistView::addFile(), and XineControl::getErrorCode().

void Lib::handleXineEvent int  type,
int  data,
const char *  name
[private]
 

Definition at line 391 of file lib.cpp.

References assert, QString::fromUtf8(), m_initialized, QString::null, Global::statusMessage(), stopped(), str, and tr.

void Lib::handleXineEvent const xine_event_t *  t  )  [private]
 

Definition at line 380 of file lib.cpp.

References name, ThreadUtil::Channel::OneWay, and ThreadUtil::Channel::send().

Referenced by receiveMessage().

bool Lib::hasVideo  )  const
 

Returns:
is media stream has video

Definition at line 307 of file lib.cpp.

References assert, m_initialized, and m_stream.

Referenced by PlaylistView::addFile(), XineControl::play(), AudioWidget::playFile(), videoBitrate(), and videoSize().

void Lib::initialize  )  [private]
 

Definition at line 112 of file lib.cpp.

References QFile::encodeName(), QDir::homeDirPath(), init_video_out_plugin(), m_audioOutput, m_duringInitialization, m_queue, m_stream, m_videoOutput, m_wid, m_xine, NULL, setWidget(), xine_dest_cb(), xine_display_frame(), xine_event_handler(), and xine_vo_scale_cb().

Referenced by Lib(), and run().

void XINE::Lib::initialized  )  [signal]
 

bool Lib::isScaling  )  const
 

Definition at line 441 of file lib.cpp.

References assert, m_initialized, and m_stream.

bool Lib::isSeekable  )  const
 

Definition at line 301 of file lib.cpp.

References assert, m_initialized, and m_stream.

Referenced by XineControl::play().

bool Lib::isShowingVideo  )  const
 

is we show video

Definition at line 410 of file lib.cpp.

References assert, m_initialized, m_videoOutput, and null_is_showing_video().

Referenced by PMainWindow::slotToggleFull().

bool Lib::isVideoFullScreen  )  const
 

Definition at line 422 of file lib.cpp.

References assert, and m_initialized.

int Lib::length  )  const
 

Definition at line 266 of file lib.cpp.

References assert, m_initialized, m_stream, and pos.

Referenced by PlaylistView::addFile(), currentPosition(), currentTime(), XineControl::length(), AudioWidget::playFile(), and PMainWindow::slotPlayCurrent().

int Lib::majorVersion  )  [static]
 

Definition at line 168 of file lib.cpp.

QString Lib::metaInfo int  number  )  const
 

Get the meta info (like author etc) from the stream XINE_META_INFO_TITLE 0 XINE_META_INFO_COMMENT 1 XINE_META_INFO_ARTIST 2 XINE_META_INFO_GENRE 3 XINE_META_INFO_ALBUM 4 XINE_META_INFO_YEAR 5 XINE_META_INFO_VIDEOCODEC 6 XINE_META_INFO_AUDIOCODEC 7 XINE_META_INFO_SYSTEMLAYER 8 XINE_META_INFO_INPUT_PLUGIN 9

Definition at line 342 of file lib.cpp.

References assert, m_initialized, and m_stream.

Referenced by PlaylistView::addFile(), XineControl::getMetaInfo(), and AudioWidget::playFile().

int Lib::minorVersion  )  [static]
 

Definition at line 174 of file lib.cpp.

void Lib::pause bool  toggle  ) 
 

Definition at line 215 of file lib.cpp.

References assert, m_initialized, and m_stream.

Referenced by XineControl::pause(), and PMainWindow::slotToggleFull().

int Lib::play const QString fileName,
int  startPos = 0,
int  start_time = 0
 

Definition at line 197 of file lib.cpp.

References assert, m_initialized, m_stream, str, QString::stripWhiteSpace(), and QString::utf8().

Referenced by XineControl::play(), and AudioWidget::playFile().

void Lib::receiveMessage ThreadUtil::ChannelMessage msg,
SendType  sendType
[protected, virtual]
 

Definition at line 373 of file lib.cpp.

References assert, ThreadUtil::ChannelMessage::data(), handleXineEvent(), ThreadUtil::ChannelMessage::msg(), ThreadUtil::Channel::OneWay, and ThreadUtil::ChannelMessage::type().

void Lib::resize const QSize &  s  ) 
 

Definition at line 161 of file lib.cpp.

References assert, height, m_duringInitialization, m_initialized, m_videoSize, and width.

Referenced by setWidget(), VideoWidget::slot_Videoresized(), and XineControl::videoResized().

void Lib::run  )  [protected, virtual]
 

Implements ThreadUtil::Thread.

Definition at line 104 of file lib.cpp.

References initialize(), m_initialized, odebug, and oendl.

void Lib::seekTo int  time  ) 
 

seek to a position

Definition at line 325 of file lib.cpp.

References assert, m_initialized, m_stream, odebug, and oendl.

Referenced by XineControl::seekTo(), and PMainWindow::slotNewPos().

int Lib::setfile const QString fileName  ) 
 

Definition at line 186 of file lib.cpp.

References m_stream, str, QString::stripWhiteSpace(), and QString::utf8().

Referenced by PlaylistView::addFile().

void Lib::setGamma int   ) 
 

Set the Gamma value for video output

Parameters:
int the value between -100 and 100, 0 is original

Definition at line 436 of file lib.cpp.

References assert, m_initialized, and m_stream.

Referenced by XineControl::setGamma().

void Lib::setScaling bool   ) 
 

Definition at line 429 of file lib.cpp.

References assert, m_initialized, and m_stream.

void Lib::setShowVideo bool  video  ) 
 

Whether or not to show video output

Definition at line 403 of file lib.cpp.

References assert, m_initialized, m_video, m_videoOutput, and null_set_show_video().

Referenced by XineControl::play(), and AudioWidget::playFile().

void Lib::setSpeed int  speed = XINE_SPEED_PAUSE  ) 
 

Set the speed of the stream, if codec supports it XINE_SPEED_PAUSE 0 XINE_SPEED_SLOW_4 1 XINE_SPEED_SLOW_2 2 XINE_SPEED_NORMAL 4 XINE_SPEED_FAST_2 8 XINE_SPEED_FAST_4 16

Definition at line 234 of file lib.cpp.

References assert, m_initialized, and m_stream.

void Lib::setWidget XineVideoWidget widget  ) 
 

Definition at line 364 of file lib.cpp.

References m_videoOutput, m_wid, null_set_mode(), resize(), and size.

Referenced by initialize(), and XineControl::XineControl().

void Lib::showVideoFullScreen bool  fullScreen  ) 
 

Definition at line 416 of file lib.cpp.

References assert, and m_initialized.

Referenced by XineControl::setFullscreen().

int Lib::speed  )  const
 

Definition at line 228 of file lib.cpp.

References assert, m_initialized, and m_stream.

int Lib::status  )  const
 

Definition at line 240 of file lib.cpp.

References assert, m_initialized, and m_stream.

void Lib::stop  ) 
 

Definition at line 209 of file lib.cpp.

References assert, m_initialized, and m_stream.

Referenced by PlaylistView::addFile(), PMainWindow::slotUserStop(), XineControl::stop(), VideoWidget::stopPlaying(), and AudioWidget::stopPlaying().

void XINE::Lib::stopped  )  [signal]
 

Referenced by handleXineEvent().

int Lib::subVersion  )  [static]
 

Definition at line 180 of file lib.cpp.

int Lib::videoBitrate  )  const
 

Definition at line 318 of file lib.cpp.

References hasVideo(), m_initialized, and m_stream.

QSize Lib::videoSize  )  const
 

Definition at line 292 of file lib.cpp.

References hasVideo(), height, m_initialized, m_stream, and width.

void Lib::xine_dest_cb void *  ,
int  ,
int  ,
double  ,
int *  ,
int *  ,
double * 
[static, private]
 

Definition at line 474 of file lib.cpp.

References size.

Referenced by initialize().

void Lib::xine_display_frame void *  user_data,
uint8_t *  frame,
int  width,
int  height,
int  bytes
[static, private]
 

Definition at line 452 of file lib.cpp.

Referenced by initialize().

void Lib::xine_event_handler void *  user_data,
const xine_event_t *  t
[static, private]
 

Definition at line 448 of file lib.cpp.

Referenced by initialize().

void Lib::xine_vo_scale_cb void *  ,
int  ,
int  ,
double  ,
int *  ,
int *  ,
int *  ,
int *  ,
double *  ,
int *  ,
int * 
[static, private]
 

Definition at line 457 of file lib.cpp.

References size.

Referenced by initialize().


Member Data Documentation

xine_ao_driver_t* XINE::Lib::m_audioOutput [private]
 

Definition at line 202 of file lib.h.

Referenced by initialize(), and ~Lib().

int XINE::Lib::m_bytes_per_pixel [private]
 

Definition at line 192 of file lib.h.

xine_cfg_entry_t* XINE::Lib::m_config [private]
 

Definition at line 200 of file lib.h.

bool XINE::Lib::m_duringInitialization [private]
 

Definition at line 194 of file lib.h.

Referenced by initialize(), Lib(), and resize().

bool XINE::Lib::m_initialized [private]
 

Definition at line 193 of file lib.h.

Referenced by audioBitrate(), currentPosition(), currentTime(), drawFrame(), ensureInitialized(), error(), handleXineEvent(), hasVideo(), isScaling(), isSeekable(), isShowingVideo(), isVideoFullScreen(), length(), Lib(), metaInfo(), pause(), play(), resize(), run(), seekTo(), setGamma(), setScaling(), setShowVideo(), setSpeed(), showVideoFullScreen(), speed(), status(), stop(), videoBitrate(), videoSize(), and ~Lib().

xine_event_queue_t* XINE::Lib::m_queue [private]
 

Definition at line 203 of file lib.h.

Referenced by initialize(), and ~Lib().

xine_stream_t* XINE::Lib::m_stream [private]
 

Definition at line 199 of file lib.h.

Referenced by audioBitrate(), currentPosition(), currentTime(), error(), hasVideo(), initialize(), isScaling(), isSeekable(), length(), metaInfo(), pause(), play(), seekTo(), setfile(), setGamma(), setScaling(), setSpeed(), speed(), status(), stop(), videoBitrate(), videoSize(), and ~Lib().

bool XINE::Lib::m_video [private]
 

Definition at line 195 of file lib.h.

Referenced by drawFrame(), Lib(), and setShowVideo().

xine_vo_driver_t* XINE::Lib::m_videoOutput [private]
 

Definition at line 201 of file lib.h.

Referenced by initialize(), isShowingVideo(), setShowVideo(), setWidget(), and ~Lib().

QSize XINE::Lib::m_videoSize [private]
 

Definition at line 197 of file lib.h.

Referenced by resize().

XineVideoWidget* XINE::Lib::m_wid [private]
 

Definition at line 196 of file lib.h.

Referenced by drawFrame(), initialize(), Lib(), and setWidget().

xine_t* XINE::Lib::m_xine [private]
 

Definition at line 198 of file lib.h.

Referenced by initialize(), and ~Lib().


The documentation for this class was generated from the following files:
Generated on Sat Nov 5 18:04:13 2005 for OPIE by  doxygen 1.4.2