MythTV
master
|
#include <cddecoder.h>
Public Member Functions | |
CdDecoder (const QString &file, DecoderFactory *d, AudioOutput *o) | |
~CdDecoder () override | |
bool | initialize () override |
void | seek (double pos) override |
void | stop () override |
MusicMetadata * | getMetadata (void) |
MusicMetadata * | getMetadata (int track) |
int | getNumTracks () |
int | getNumCDAudioTracks () |
void | setDevice (const QString &dev) |
void | setCDSpeed (int speed) |
![]() | |
~Decoder () override | |
DecoderFactory * | factory () const |
AudioOutput * | output () |
void | setOutput (AudioOutput *o) |
void | setURL (const QString &url) |
virtual void | lock (void) |
virtual void | unlock (void) |
virtual bool | tryLock (void) |
QWaitCondition * | cond () |
QString | getURL (void) const |
![]() | |
MThread (const QString &objectName) | |
Standard constructor. More... | |
MThread (const QString &objectName, QRunnable *runnable) | |
Use this constructor if you want the default run() method to run the QRunnable's run() method instead of entering the Qt event loop. More... | |
virtual | ~MThread () |
MThread (const MThread &)=delete | |
MThread & | operator= (const MThread &)=delete |
void | RunProlog (void) |
Sets up a thread, call this if you reimplement run(). More... | |
void | RunEpilog (void) |
Cleans up a thread's resources, call this if you reimplement run(). More... | |
QThread * | qthread (void) |
Returns the thread, this will always return the same pointer no matter how often you restart the thread. More... | |
void | setObjectName (const QString &name) |
QString | objectName (void) const |
void | setPriority (QThread::Priority priority) |
QThread::Priority | priority (void) const |
bool | isFinished (void) const |
bool | isRunning (void) const |
void | setStackSize (uint stackSize) |
uint | stackSize (void) const |
void | exit (int retcode=0) |
Use this to exit from the thread if you are using a Qt event loop. More... | |
void | start (QThread::Priority p=QThread::InheritPriority) |
Tell MThread to start running the thread in the near future. More... | |
void | terminate (void) |
Kill a thread unsafely. More... | |
void | quit (void) |
calls exit(0) More... | |
bool | wait (std::chrono::milliseconds time=std::chrono::milliseconds::max()) |
Wait for the MThread to exit, with a maximum timeout. More... | |
![]() | |
MythObservable () | |
virtual | ~MythObservable () |
void | addListener (QObject *listener) |
Add a listener to the observable. More... | |
void | removeListener (QObject *listener) |
Remove a listener to the observable. More... | |
void | dispatch (const MythEvent &event) |
Dispatch an event to all listeners. More... | |
bool | hasListeners (void) |
Private Member Functions | |
Q_DECLARE_TR_FUNCTIONS (CdDecoder) | |
void | run () override |
Runs the Qt event loop unless we have a QRunnable, in which case we run the runnable run instead. More... | |
void | writeBlock () |
void | deinit () |
Static Private Member Functions | |
static QRecursiveMutex & | getCdioMutex () |
Private Attributes | |
volatile bool | m_inited {false} |
volatile bool | m_userStop {false} |
QString | m_deviceName |
DecoderEvent::Type | m_stat {DecoderEvent::Error} |
char * | m_outputBuf {nullptr} |
std::size_t | m_outputAt {0} |
std::size_t | m_bks {0} |
std::size_t | m_bksFrames {0} |
std::size_t | m_decodeBytes {0} |
bool | m_finish {false} |
long | m_freq {0} |
long | m_bitrate {0} |
int | m_chan {0} |
double | m_seekTime {-1.0} |
int | m_setTrackNum {-1} |
int | m_trackNum {0} |
Additional Inherited Members | |
![]() | |
static QStringList | all () |
static bool | supports (const QString &source) |
static void | registerFactory (DecoderFactory *fact) |
static Decoder * | create (const QString &source, AudioOutput *output, bool deletable=false) |
![]() | |
static void | ThreadSetup (const QString &name) |
This is to be called on startup in those few threads that haven't been ported to MThread. More... | |
static void | ThreadCleanup (void) |
This is to be called on exit in those few threads that haven't been ported to MThread. More... | |
static void | Cleanup (void) |
This will print out all the running threads, call exit(1) on each and then wait up to 5 seconds total for all the threads to exit. More... | |
static void | GetAllThreadNames (QStringList &list) |
static void | GetAllRunningThreadNames (QStringList &list) |
![]() | |
Decoder (DecoderFactory *d, AudioOutput *o) | |
QMutex * | getMutex (void) |
void | error (const QString &e) |
![]() | |
int | exec (void) |
Enters the qt event loop. call exit or quit to exit thread. More... | |
![]() | |
static void | setTerminationEnabled (bool enabled=true) |
static void | usleep (std::chrono::microseconds time) |
template<typename R , typename P > | |
static std::enable_if_t< std::chrono::treat_as_floating_point< R >::value, void > | usleep (std::chrono::duration< R, P > time) |
![]() | |
QString | m_url |
![]() | |
MThreadInternal * | m_thread {nullptr} |
QRunnable * | m_runnable {nullptr} |
bool | m_prologExecuted {true} |
bool | m_epilogExecuted {true} |
![]() | |
QMutex * | m_lock {nullptr} |
QSet< QObject * > | m_listeners |
Definition at line 20 of file cddecoder.h.
CdDecoder::CdDecoder | ( | const QString & | file, |
DecoderFactory * | d, | ||
AudioOutput * | o | ||
) |
Definition at line 92 of file cddecoder.cpp.
|
override |
Definition at line 99 of file cddecoder.cpp.
|
private |
|
overridevirtual |
Implements Decoder.
Definition at line 155 of file cddecoder.cpp.
|
overridevirtual |
Implements Decoder.
Definition at line 269 of file cddecoder.cpp.
|
overridevirtual |
Implements Decoder.
Definition at line 116 of file cddecoder.cpp.
MusicMetadata * CdDecoder::getMetadata | ( | void | ) |
Definition at line 508 of file cddecoder.cpp.
Referenced by getMetadata(), and Ripper::ScanFinished().
MusicMetadata * CdDecoder::getMetadata | ( | int | track | ) |
Definition at line 497 of file cddecoder.cpp.
int CdDecoder::getNumTracks | ( | ) |
Definition at line 455 of file cddecoder.cpp.
Referenced by Ripper::ScanFinished().
int CdDecoder::getNumCDAudioTracks | ( | ) |
Definition at line 473 of file cddecoder.cpp.
Referenced by getMetadata().
void CdDecoder::setDevice | ( | const QString & | dev | ) |
Definition at line 105 of file cddecoder.cpp.
Referenced by MusicPlayer::decoderHandlerReady(), and Ripper::scanCD().
void CdDecoder::setCDSpeed | ( | int | speed | ) |
Definition at line 437 of file cddecoder.cpp.
Referenced by deinit(), and initialize().
|
overrideprivatevirtual |
Runs the Qt event loop unless we have a QRunnable, in which case we run the runnable run instead.
Reimplemented from MThread.
Definition at line 301 of file cddecoder.cpp.
|
private |
Definition at line 122 of file cddecoder.cpp.
Referenced by run().
|
private |
Definition at line 277 of file cddecoder.cpp.
Referenced by run(), and ~CdDecoder().
|
staticprivate |
Definition at line 147 of file cddecoder.cpp.
Referenced by deinit(), getMetadata(), getNumCDAudioTracks(), getNumTracks(), initialize(), run(), and setCDSpeed().
Definition at line 52 of file cddecoder.h.
Referenced by deinit(), initialize(), run(), and ~CdDecoder().
Definition at line 53 of file cddecoder.h.
Referenced by deinit(), initialize(), run(), and stop().
|
private |
Definition at line 55 of file cddecoder.h.
Referenced by getMetadata(), getNumCDAudioTracks(), getNumTracks(), initialize(), setCDSpeed(), and setDevice().
|
private |
Definition at line 63 of file cddecoder.h.
Referenced by deinit(), initialize(), and run().
|
private |
Definition at line 64 of file cddecoder.h.
Referenced by deinit(), initialize(), run(), and writeBlock().
|
private |
Definition at line 65 of file cddecoder.h.
Referenced by initialize(), run(), and writeBlock().
|
private |
Definition at line 67 of file cddecoder.h.
Referenced by initialize(), run(), and writeBlock().
|
private |
Definition at line 68 of file cddecoder.h.
Referenced by initialize(), and writeBlock().
|
private |
Definition at line 69 of file cddecoder.h.
Referenced by initialize(), and run().
Definition at line 70 of file cddecoder.h.
Referenced by deinit(), initialize(), and run().
|
private |
Definition at line 71 of file cddecoder.h.
Referenced by deinit(), and initialize().
|
private |
Definition at line 72 of file cddecoder.h.
Referenced by deinit(), and initialize().
|
private |
Definition at line 73 of file cddecoder.h.
Referenced by deinit(), and initialize().
|
private |
Definition at line 74 of file cddecoder.h.
Referenced by initialize(), run(), seek(), and writeBlock().
|
private |
Definition at line 76 of file cddecoder.h.
Referenced by getMetadata().
|
private |
Definition at line 77 of file cddecoder.h.
Referenced by initialize().