From 616adfc77dc1d08f3bfcd79991a78c6350e4e2f6 Mon Sep 17 00:00:00 2001 From: lvw Date: Fri, 28 May 2004 15:29:19 +0000 Subject: Merged player branch back on HEAD branch. git-svn-id: https://vdr-muggle.svn.sourceforge.net/svnroot/vdr-muggle/trunk/muggle-plugin@98 e10066b5-e1e2-0310-b819-94efdf66514b --- vdr_decoder.c | 137 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 vdr_decoder.c (limited to 'vdr_decoder.c') diff --git a/vdr_decoder.c b/vdr_decoder.c new file mode 100644 index 0000000..8b4cf70 --- /dev/null +++ b/vdr_decoder.c @@ -0,0 +1,137 @@ +/*! + * \file vdr_decoder.h + * \brief A generic decoder for a VDR media plugin (muggle) + * + * \version $Revision: 1.2 $ + * \date $Date: 2004/05/28 15:29:18 $ + * \author Ralf Klueber, Lars von Wedel, Andreas Kellner + * \author Responsible author: $Author: lvw $ + * + * $Id: vdr_decoder.c,v 1.2 2004/05/28 15:29:18 lvw Exp $ + * + * Adapted from: + * MP3/MPlayer plugin to VDR (C++) + * (C) 2001-2003 Stefan Huelswitt + */ + +#include +#include +#include +#include +#include + +#include +#include + +// #include "common.h" +// #include "data-mp3.h" +// #include "decoder-core.h" +// #include "decoder-mp3-stream.h" +// #include "decoder-snd.h" +// #include "decoder-ogg.h" + +#include "vdr_decoder.h" +#include "vdr_decoder_mp3.h" + +using namespace std; + +// --- mgDecoders --------------------------------------------------------------- + +mgMediaType mgDecoders::getMediaType( string s ) +{ + // TODO: currently handles only mp3. LVW + return MT_MP3; +} + +mgDecoder *mgDecoders::findDecoder( string filename ) +{ + mgDecoder *decoder = 0; + + switch( getMediaType( filename ) ) + { + case MT_MP3: + { + // prepend filename with path to music library?? TODO + printf( "mp3 file detected, launching mgMP3Decoder\n" ); + decoder = new mgMP3Decoder(filename); + } break; + + /* + case MT_MP3_STREAM: decoder = new mgMP3StreamDecoder(full); break; + #ifdef HAVE_SNDFILE + case MT_SND: decoder = new cSndDecoder(full); break; + #endif + #ifdef HAVE_VORBISFILE + case MT_OGG: decoder = new mgOggDecoder(full); break; + #endif + */ + default: + { + esyslog("ERROR: unknown media type" ); + } break; + } + + if( decoder && !decoder->valid() ) + { + // no decoder found or decoder doesn't match + + delete decoder; // might be carried out on NULL pointer! + decoder = 0; + + esyslog("ERROR: no valid decoder found for %s", filename.c_str() ); + } + return decoder; +} + +// --- mgDecoder ---------------------------------------------------------------- + +mgDecoder::mgDecoder(string filename) +{ + m_filename = filename; + m_locked = 0; + m_urgentLock = false; + m_playing = false; +} + +mgDecoder::~mgDecoder() +{ +} + +void mgDecoder::lock(bool urgent) +{ + m_locklock.Lock(); + + if( urgent && m_locked ) + { + m_urgentLock = true; // signal other locks to release quickly + } + m_locked ++; + + m_locklock.Unlock(); // don't hold the "locklock" when locking "lock", may cause a deadlock + m_lock.Lock(); + m_urgentLock = false; +} + +void mgDecoder::unlock(void) +{ + m_locklock.Lock(); + + m_locked--; + + m_lock.Unlock(); + m_locklock.Unlock(); +} + +bool mgDecoder::tryLock(void) +{ + bool res = false; + m_locklock.Lock(); + + if( !m_locked && !m_playing ) + { + lock(); + res = true; + } + m_locklock.Unlock(); + return res; +} -- cgit v1.2.3 From 653ca204d10b3481670a80769baa3d768bb5f64a Mon Sep 17 00:00:00 2001 From: lvw Date: Tue, 7 Sep 2004 17:40:47 +0000 Subject: Merged ogg vorbis player to trunk git-svn-id: https://vdr-muggle.svn.sourceforge.net/svnroot/vdr-muggle/trunk/muggle-plugin@148 e10066b5-e1e2-0310-b819-94efdf66514b --- vdr_decoder.c | 73 ++++++++++++++++++++++++++++++++++++----------------------- 1 file changed, 45 insertions(+), 28 deletions(-) (limited to 'vdr_decoder.c') diff --git a/vdr_decoder.c b/vdr_decoder.c index 8b4cf70..1c0b154 100644 --- a/vdr_decoder.c +++ b/vdr_decoder.c @@ -1,13 +1,14 @@ /*! * \file vdr_decoder.h * \brief A generic decoder for a VDR media plugin (muggle) + * \ingroup vdr * * \version $Revision: 1.2 $ - * \date $Date: 2004/05/28 15:29:18 $ + * \date $Date$ * \author Ralf Klueber, Lars von Wedel, Andreas Kellner - * \author Responsible author: $Author: lvw $ + * \author Responsible author: $Author$ * - * $Id: vdr_decoder.c,v 1.2 2004/05/28 15:29:18 lvw Exp $ + * $Id$ * * Adapted from: * MP3/MPlayer plugin to VDR (C++) @@ -23,15 +24,11 @@ #include #include -// #include "common.h" -// #include "data-mp3.h" -// #include "decoder-core.h" -// #include "decoder-mp3-stream.h" -// #include "decoder-snd.h" -// #include "decoder-ogg.h" - #include "vdr_decoder.h" #include "vdr_decoder_mp3.h" +#include "vdr_decoder_ogg.h" + +#include "mg_content_interface.h" using namespace std; @@ -39,38 +36,58 @@ using namespace std; mgMediaType mgDecoders::getMediaType( string s ) { + mgMediaType mt = MT_UNKNOWN; + // TODO: currently handles only mp3. LVW - return MT_MP3; + char *f = (char *)s.c_str(); + char *p = f + strlen( f ) - 1; // point to the end + + while( p >= f && *p != '.') --p; + + if( !strcmp( p, ".mp3" ) ) + { + mt = MT_MP3; + } + else + { + if( !strcmp( p, ".ogg" ) ) + { + mt = MT_OGG; + } + } + return mt; } -mgDecoder *mgDecoders::findDecoder( string filename ) +mgDecoder *mgDecoders::findDecoder( mgContentItem *item ) { mgDecoder *decoder = 0; + string filename = item->getSourceFile(); + switch( getMediaType( filename ) ) { case MT_MP3: { - // prepend filename with path to music library?? TODO - printf( "mp3 file detected, launching mgMP3Decoder\n" ); - decoder = new mgMP3Decoder(filename); + decoder = new mgMP3Decoder( item ); } break; - - /* - case MT_MP3_STREAM: decoder = new mgMP3StreamDecoder(full); break; - #ifdef HAVE_SNDFILE - case MT_SND: decoder = new cSndDecoder(full); break; - #endif - #ifdef HAVE_VORBISFILE - case MT_OGG: decoder = new mgOggDecoder(full); break; - #endif - */ +#ifdef HAVE_VORBISFILE + case MT_OGG: + { + decoder = new mgOggDecoder( item ); + } break; +#endif + /* + case MT_MP3_STREAM: decoder = new mgMP3StreamDecoder(full); break; + #ifdef HAVE_SNDFILE + case MT_SND: decoder = new cSndDecoder(full); break; + #endif + */ default: { esyslog("ERROR: unknown media type" ); } break; } - + if( decoder && !decoder->valid() ) { // no decoder found or decoder doesn't match @@ -85,9 +102,9 @@ mgDecoder *mgDecoders::findDecoder( string filename ) // --- mgDecoder ---------------------------------------------------------------- -mgDecoder::mgDecoder(string filename) +mgDecoder::mgDecoder( mgContentItem *item ) { - m_filename = filename; + m_item = item; m_locked = 0; m_urgentLock = false; m_playing = false; -- cgit v1.2.3 From 44cd4c0319c75d4315fe0554d701effe77680776 Mon Sep 17 00:00:00 2001 From: lvw Date: Mon, 4 Oct 2004 20:47:58 +0000 Subject: Added a patch to correct minor errors. Further, remove using namespace directives in order to remain compatible with g++ 2.95.4 git-svn-id: https://vdr-muggle.svn.sourceforge.net/svnroot/vdr-muggle/trunk/muggle-plugin@200 e10066b5-e1e2-0310-b819-94efdf66514b --- vdr_decoder.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'vdr_decoder.c') diff --git a/vdr_decoder.c b/vdr_decoder.c index 1c0b154..0384031 100644 --- a/vdr_decoder.c +++ b/vdr_decoder.c @@ -21,20 +21,18 @@ #include #include -#include -#include - #include "vdr_decoder.h" #include "vdr_decoder_mp3.h" #include "vdr_decoder_ogg.h" #include "mg_content_interface.h" -using namespace std; +#include +#include // --- mgDecoders --------------------------------------------------------------- -mgMediaType mgDecoders::getMediaType( string s ) +mgMediaType mgDecoders::getMediaType( std::string s ) { mgMediaType mt = MT_UNKNOWN; @@ -62,7 +60,7 @@ mgDecoder *mgDecoders::findDecoder( mgContentItem *item ) { mgDecoder *decoder = 0; - string filename = item->getSourceFile(); + std::string filename = item->getSourceFile(); switch( getMediaType( filename ) ) { -- cgit v1.2.3 From 0756ae40d68d403082c86adef042a4c0daba219f Mon Sep 17 00:00:00 2001 From: LarsAC Date: Fri, 7 Jan 2005 18:43:03 +0000 Subject: Merged branch osd_extensions back to main trunk git-svn-id: https://vdr-muggle.svn.sourceforge.net/svnroot/vdr-muggle/trunk/muggle-plugin@324 e10066b5-e1e2-0310-b819-94efdf66514b --- vdr_decoder.c | 169 +++++++++++++++++++++++++++++++++------------------------- 1 file changed, 96 insertions(+), 73 deletions(-) (limited to 'vdr_decoder.c') diff --git a/vdr_decoder.c b/vdr_decoder.c index 0384031..9b47fa8 100644 --- a/vdr_decoder.c +++ b/vdr_decoder.c @@ -25,128 +25,151 @@ #include "vdr_decoder_mp3.h" #include "vdr_decoder_ogg.h" -#include "mg_content_interface.h" +#include "mg_db.h" #include #include // --- mgDecoders --------------------------------------------------------------- -mgMediaType mgDecoders::getMediaType( std::string s ) +mgMediaType mgDecoders::getMediaType (std::string s) { - mgMediaType mt = MT_UNKNOWN; + mgMediaType + mt = MT_UNKNOWN; - // TODO: currently handles only mp3. LVW - char *f = (char *)s.c_str(); - char *p = f + strlen( f ) - 1; // point to the end +// TODO: currently handles only mp3. LVW + char * + f = (char *) s.c_str (); + char * + p = f + strlen (f) - 1; // point to the end - while( p >= f && *p != '.') --p; + while (p >= f && *p != '.') + --p; - if( !strcmp( p, ".mp3" ) ) + if (!strcmp (p, ".mp3")) { - mt = MT_MP3; + mt = MT_MP3; } - else + else { - if( !strcmp( p, ".ogg" ) ) - { - mt = MT_OGG; - } + if (!strcmp (p, ".ogg")) + { + mt = MT_OGG; + } } - return mt; + return mt; } -mgDecoder *mgDecoders::findDecoder( mgContentItem *item ) + +mgDecoder * +mgDecoders::findDecoder (mgContentItem * item) { - mgDecoder *decoder = 0; + mgDecoder *decoder = 0; - std::string filename = item->getSourceFile(); + std::string filename = item->getSourceFile (); - switch( getMediaType( filename ) ) + struct stat st; + if (stat (filename.c_str (), &st)) + { + esyslog ("ERROR: no valid decoder found for %s", filename.c_str ()); + return 0; + } + switch (getMediaType (filename)) { - case MT_MP3: - { - decoder = new mgMP3Decoder( item ); - } break; + case MT_MP3: + { + decoder = new mgMP3Decoder (item); + } + break; #ifdef HAVE_VORBISFILE - case MT_OGG: - { - decoder = new mgOggDecoder( item ); - } break; + case MT_OGG: + { + decoder = new mgOggDecoder (item); + } + break; #endif - /* - case MT_MP3_STREAM: decoder = new mgMP3StreamDecoder(full); break; - #ifdef HAVE_SNDFILE - case MT_SND: decoder = new cSndDecoder(full); break; - #endif - */ - default: - { - esyslog("ERROR: unknown media type" ); - } break; +/* + case MT_MP3_STREAM: decoder = new mgMP3StreamDecoder(full); break; + #ifdef HAVE_SNDFILE + case MT_SND: decoder = new cSndDecoder(full); break; + #endif + */ + default: + { + esyslog ("ERROR: unknown media type"); + } + break; } - - if( decoder && !decoder->valid() ) + + if (decoder && !decoder->valid ()) { - // no decoder found or decoder doesn't match - - delete decoder; // might be carried out on NULL pointer! - decoder = 0; - - esyslog("ERROR: no valid decoder found for %s", filename.c_str() ); +// no decoder found or decoder doesn't match + + delete decoder; // might be carried out on NULL pointer! + decoder = 0; + + esyslog ("ERROR: no valid decoder found for %s", filename.c_str ()); } - return decoder; + return decoder; } + // --- mgDecoder ---------------------------------------------------------------- -mgDecoder::mgDecoder( mgContentItem *item ) +mgDecoder::mgDecoder (mgContentItem * item) { - m_item = item; - m_locked = 0; - m_urgentLock = false; - m_playing = false; + m_item = item; + m_locked = 0; + m_urgentLock = false; + m_playing = false; } -mgDecoder::~mgDecoder() + +mgDecoder::~mgDecoder () { } -void mgDecoder::lock(bool urgent) + +void +mgDecoder::lock (bool urgent) { - m_locklock.Lock(); + m_locklock.Lock (); - if( urgent && m_locked ) + if (urgent && m_locked) { - m_urgentLock = true; // signal other locks to release quickly + m_urgentLock = true; // signal other locks to release quickly } - m_locked ++; + m_locked++; - m_locklock.Unlock(); // don't hold the "locklock" when locking "lock", may cause a deadlock - m_lock.Lock(); - m_urgentLock = false; + m_locklock.Unlock (); // don't hold the "locklock" when locking "lock", may cause a deadlock + m_lock.Lock (); + m_urgentLock = false; } -void mgDecoder::unlock(void) + +void +mgDecoder::unlock (void) { - m_locklock.Lock(); + m_locklock.Lock (); - m_locked--; + m_locked--; - m_lock.Unlock(); - m_locklock.Unlock(); + m_lock.Unlock (); + m_locklock.Unlock (); } -bool mgDecoder::tryLock(void) + +bool mgDecoder::tryLock (void) { - bool res = false; - m_locklock.Lock(); + bool + res = false; + m_locklock.Lock (); - if( !m_locked && !m_playing ) + if (!m_locked && !m_playing) { - lock(); - res = true; + lock (); + res = true; } - m_locklock.Unlock(); - return res; + m_locklock.Unlock (); + return res; } -- cgit v1.2.3 From 05801055e91bef231bb6aa48a96034e69bd7f250 Mon Sep 17 00:00:00 2001 From: LarsAC Date: Sun, 23 Jan 2005 13:03:34 +0000 Subject: Merged branches osd_extensions and flac_player for new release, yet untested git-svn-id: https://vdr-muggle.svn.sourceforge.net/svnroot/vdr-muggle/trunk/muggle-plugin@386 e10066b5-e1e2-0310-b819-94efdf66514b --- vdr_decoder.c | 49 ++++++++++++++++++++++++++++++++----------------- 1 file changed, 32 insertions(+), 17 deletions(-) (limited to 'vdr_decoder.c') diff --git a/vdr_decoder.c b/vdr_decoder.c index 9b47fa8..9a7bb7c 100644 --- a/vdr_decoder.c +++ b/vdr_decoder.c @@ -23,7 +23,14 @@ #include "vdr_decoder.h" #include "vdr_decoder_mp3.h" + +#ifdef HAVE_VORBISFILE #include "vdr_decoder_ogg.h" +#endif + +#ifdef HAVE_FLAC +#include "vdr_decoder_flac.h" +#endif #include "mg_db.h" @@ -34,8 +41,7 @@ mgMediaType mgDecoders::getMediaType (std::string s) { - mgMediaType - mt = MT_UNKNOWN; + mgMediaType mt = MT_UNKNOWN; // TODO: currently handles only mp3. LVW char * @@ -56,6 +62,13 @@ mgMediaType mgDecoders::getMediaType (std::string s) { mt = MT_OGG; } + else + { + if (!strcmp (p, ".flac")) + { + mt = MT_FLAC; + } + } } return mt; } @@ -76,17 +89,21 @@ mgDecoders::findDecoder (mgContentItem * item) } switch (getMediaType (filename)) { - case MT_MP3: - { - decoder = new mgMP3Decoder (item); - } - break; + case MT_MP3: + { + decoder = new mgMP3Decoder (item); + } break; #ifdef HAVE_VORBISFILE - case MT_OGG: - { - decoder = new mgOggDecoder (item); - } - break; + case MT_OGG: + { + decoder = new mgOggDecoder (item); + } break; +#endif +#ifdef HAVE_FLAC + case MT_FLAC: + { + decoder = new mgFlacDecoder( item ); + } break; #endif /* case MT_MP3_STREAM: decoder = new mgMP3StreamDecoder(full); break; @@ -124,23 +141,21 @@ mgDecoder::mgDecoder (mgContentItem * item) m_playing = false; } - mgDecoder::~mgDecoder () { } - void mgDecoder::lock (bool urgent) { m_locklock.Lock (); if (urgent && m_locked) - { + { m_urgentLock = true; // signal other locks to release quickly - } + } m_locked++; - + m_locklock.Unlock (); // don't hold the "locklock" when locking "lock", may cause a deadlock m_lock.Lock (); m_urgentLock = false; -- cgit v1.2.3 From 8df8600565a9f2c0feb3c55ef4d9bfa5f378a273 Mon Sep 17 00:00:00 2001 From: LarsAC Date: Sun, 23 Jan 2005 15:50:30 +0000 Subject: Final bugfixes for next release git-svn-id: https://vdr-muggle.svn.sourceforge.net/svnroot/vdr-muggle/trunk/muggle-plugin@388 e10066b5-e1e2-0310-b819-94efdf66514b --- vdr_decoder.c | 101 +++++++++++++++++++++++++++++----------------------------- 1 file changed, 51 insertions(+), 50 deletions(-) (limited to 'vdr_decoder.c') diff --git a/vdr_decoder.c b/vdr_decoder.c index 9a7bb7c..d5e8004 100644 --- a/vdr_decoder.c +++ b/vdr_decoder.c @@ -21,6 +21,7 @@ #include #include +#include "vdr_setup.h" #include "vdr_decoder.h" #include "vdr_decoder_mp3.h" @@ -43,34 +44,33 @@ mgMediaType mgDecoders::getMediaType (std::string s) { mgMediaType mt = MT_UNKNOWN; -// TODO: currently handles only mp3. LVW - char * - f = (char *) s.c_str (); - char * - p = f + strlen (f) - 1; // point to the end + char * + f = (char *) s.c_str (); + char * + p = f + strlen (f) - 1; // point to the end - while (p >= f && *p != '.') - --p; + while (p >= f && *p != '.') + --p; - if (!strcmp (p, ".mp3")) + if (!strcmp (p, ".mp3")) { - mt = MT_MP3; + mt = MT_MP3; } - else + else { - if (!strcmp (p, ".ogg")) + if (!strcmp (p, ".ogg")) { - mt = MT_OGG; + mt = MT_OGG; } - else - { - if (!strcmp (p, ".flac")) - { - mt = MT_FLAC; - } - } + else + { + if (!strcmp (p, ".flac")) + { + mt = MT_FLAC; + } + } } - return mt; + return mt; } @@ -79,54 +79,55 @@ mgDecoders::findDecoder (mgContentItem * item) { mgDecoder *decoder = 0; - std::string filename = item->getSourceFile (); + std::string filename = the_setup.getFilename( item->getSourceFile () ); struct stat st; if (stat (filename.c_str (), &st)) { - esyslog ("ERROR: no valid decoder found for %s", filename.c_str ()); + esyslog ("ERROR: cannot stat %s. Meaning not found, not a valid file, or no access rights", filename.c_str ()); return 0; } + switch (getMediaType (filename)) - { - case MT_MP3: { - decoder = new mgMP3Decoder (item); - } break; + case MT_MP3: + { + decoder = new mgMP3Decoder (item); + } break; #ifdef HAVE_VORBISFILE - case MT_OGG: - { - decoder = new mgOggDecoder (item); - } break; + case MT_OGG: + { + decoder = new mgOggDecoder (item); + } break; #endif #ifdef HAVE_FLAC - case MT_FLAC: - { - decoder = new mgFlacDecoder( item ); - } break; + case MT_FLAC: + { + decoder = new mgFlacDecoder( item ); + } break; #endif -/* - case MT_MP3_STREAM: decoder = new mgMP3StreamDecoder(full); break; - #ifdef HAVE_SNDFILE - case MT_SND: decoder = new cSndDecoder(full); break; - #endif - */ - default: + /* + case MT_MP3_STREAM: decoder = new mgMP3StreamDecoder(full); break; + #ifdef HAVE_SNDFILE + case MT_SND: decoder = new cSndDecoder(full); break; + #endif + */ + default: { - esyslog ("ERROR: unknown media type"); + esyslog ("ERROR: unknown media type "); } break; - } - + } + if (decoder && !decoder->valid ()) - { -// no decoder found or decoder doesn't match - - delete decoder; // might be carried out on NULL pointer! + { + // no decoder found or decoder doesn't match + + delete decoder; // might be carried out on NULL pointer decoder = 0; - + esyslog ("ERROR: no valid decoder found for %s", filename.c_str ()); - } + } return decoder; } -- cgit v1.2.3 From 14f5032e141da131f3d1f72979cf415d6105d819 Mon Sep 17 00:00:00 2001 From: LarsAC Date: Mon, 7 Feb 2005 09:17:20 +0000 Subject: Merged most recent stuff from osd_extensions trunk for next release (0.1.2) git-svn-id: https://vdr-muggle.svn.sourceforge.net/svnroot/vdr-muggle/trunk/muggle-plugin@447 e10066b5-e1e2-0310-b819-94efdf66514b --- vdr_decoder.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'vdr_decoder.c') diff --git a/vdr_decoder.c b/vdr_decoder.c index d5e8004..93dc540 100644 --- a/vdr_decoder.c +++ b/vdr_decoder.c @@ -25,6 +25,8 @@ #include "vdr_decoder.h" #include "vdr_decoder_mp3.h" +extern void showmessage(const char *); + #ifdef HAVE_VORBISFILE #include "vdr_decoder_ogg.h" #endif @@ -60,13 +62,21 @@ mgMediaType mgDecoders::getMediaType (std::string s) { if (!strcmp (p, ".ogg")) { +#ifdef HAVE_VORBISFILE mt = MT_OGG; +#else + mgWarning("Support for vorbis not compiled in, define HAVE_VORBISFILE in Makefile"); +#endif } else { if (!strcmp (p, ".flac")) { +#ifdef HAVE_FLAC mt = MT_FLAC; +#else + mgWarning("Support for flac not compiled in, define HAVE_FLAC in Makefile"); +#endif } } } @@ -79,11 +89,19 @@ mgDecoders::findDecoder (mgContentItem * item) { mgDecoder *decoder = 0; - std::string filename = the_setup.getFilename( item->getSourceFile () ); + std::string filename = item->getSourceFile (); struct stat st; if (stat (filename.c_str (), &st)) { + char *b=0; + int nsize = filename.size(); + if (nsize<30) + asprintf(&b,tr("%s not readable"),filename.c_str()); + else + asprintf(&b,tr("%s..%s not readable"),filename.substr(0,20).c_str(),filename.substr(nsize-20).c_str());; + showmessage(b); + free(b); esyslog ("ERROR: cannot stat %s. Meaning not found, not a valid file, or no access rights", filename.c_str ()); return 0; } -- cgit v1.2.3 From 4e66317bdef5451a50a3bf4bc1b564338bc52788 Mon Sep 17 00:00:00 2001 From: wr61 Date: Tue, 8 Feb 2005 22:51:17 +0000 Subject: make it compilable with 2.95 git-svn-id: https://vdr-muggle.svn.sourceforge.net/svnroot/vdr-muggle/trunk/muggle-plugin@464 e10066b5-e1e2-0310-b819-94efdf66514b --- vdr_decoder.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'vdr_decoder.c') diff --git a/vdr_decoder.c b/vdr_decoder.c index 93dc540..2ba1e5b 100644 --- a/vdr_decoder.c +++ b/vdr_decoder.c @@ -21,6 +21,12 @@ #include #include +#include "mg_db.h" + +#include +#include + + #include "vdr_setup.h" #include "vdr_decoder.h" #include "vdr_decoder_mp3.h" @@ -35,10 +41,6 @@ extern void showmessage(const char *); #include "vdr_decoder_flac.h" #endif -#include "mg_db.h" - -#include -#include // --- mgDecoders --------------------------------------------------------------- -- cgit v1.2.3 From 8f03ced96dbea76010525ca596faa1d86bd4f56d Mon Sep 17 00:00:00 2001 From: LarsAC Date: Fri, 11 Feb 2005 11:44:10 +0000 Subject: Ignore case for filename extensions git-svn-id: https://vdr-muggle.svn.sourceforge.net/svnroot/vdr-muggle/trunk/muggle-plugin@479 e10066b5-e1e2-0310-b819-94efdf66514b --- vdr_decoder.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'vdr_decoder.c') diff --git a/vdr_decoder.c b/vdr_decoder.c index 2ba1e5b..62e6a6d 100644 --- a/vdr_decoder.c +++ b/vdr_decoder.c @@ -56,13 +56,13 @@ mgMediaType mgDecoders::getMediaType (std::string s) while (p >= f && *p != '.') --p; - if (!strcmp (p, ".mp3")) + if (!strcasecmp (p, ".mp3")) { mt = MT_MP3; } else { - if (!strcmp (p, ".ogg")) + if (!strcasecmp (p, ".ogg")) { #ifdef HAVE_VORBISFILE mt = MT_OGG; @@ -72,7 +72,7 @@ mgMediaType mgDecoders::getMediaType (std::string s) } else { - if (!strcmp (p, ".flac")) + if (!strcasecmp (p, ".flac")) { #ifdef HAVE_FLAC mt = MT_FLAC; -- cgit v1.2.3