Diffstat (limited to 'core/multimedia/opieplayer/libmad') (more/less context) (ignore whitespace changes)
-rw-r--r-- | core/multimedia/opieplayer/libmad/libmadplugin.cpp | 72 |
1 files changed, 38 insertions, 34 deletions
diff --git a/core/multimedia/opieplayer/libmad/libmadplugin.cpp b/core/multimedia/opieplayer/libmad/libmadplugin.cpp index 1989b4a..428fc28 100644 --- a/core/multimedia/opieplayer/libmad/libmadplugin.cpp +++ b/core/multimedia/opieplayer/libmad/libmadplugin.cpp @@ -18,8 +18,20 @@ ** **********************************************************************/ // largly modified by Maximilian Reiss <max.reiss@gmx.de> +#include "libmadplugin.h" + +/* OPIE */ +#include <qpe/config.h> +#include <opie2/odebug.h> + +/* QT */ +#include <qapplication.h> +#include <qmessagebox.h> +#include <qregexp.h> + +/* STD */ #include <stdio.h> #include <stdarg.h> #include <stdlib.h> #include <sys/types.h> @@ -33,14 +45,8 @@ #include <locale.h> #include <math.h> #include <assert.h> -#include <qapplication.h> -#include <qmessagebox.h> -#include <qregexp.h> - -#include <qpe/config.h> - // for network handling #include <netinet/in.h> #include <netdb.h> #include <linux/limits.h> @@ -53,9 +59,8 @@ #if defined(HAVE_MMAP) # include <sys/mman.h> #endif -#include "libmadplugin.h" extern "C" { #include "mad.h" @@ -381,9 +386,9 @@ int LibMadPlugin::http_open(const QString& path ) { len = http_read_line(tcp_sock, http_request, sizeof(http_request)); if (len == -1) { - // qDebug( "http_open: "+ QString(strerror(errno)) +"\n"); + // odebug << "http_open: "+ QString(strerror(errno)) +"\n" << oendl; return 0; } if (QString(http_request).left(9) == "Location:") { @@ -395,9 +400,9 @@ int LibMadPlugin::http_open(const QString& path ) { if (QString(http_request).left(4) == "ICY ") { /* This is shoutcast/icecast streaming */ if (strncmp(http_request + 4, "200 ", 4)) { - // qDebug("http_open: " + QString(http_request) + "\n"); + // odebug << "http_open: " + QString(http_request) + "\n" << oendl; return 0; } } else if (QString(http_request).left(4) == "icy-") { /* we can have: icy-noticeX, icy-name, icy-genre, icy-url, icy-pub, icy-metaint, icy-br */ @@ -416,9 +421,9 @@ int LibMadPlugin::http_open(const QString& path ) { } while (strcmp(http_request, "\n") != 0); info = QString(name + genre + url + bitrate + message).replace( QRegExp("\n"), " : " ); - // qDebug("Stream info: " + info); + // odebug << "Stream info: " + info << oendl; return (tcp_sock); } @@ -428,14 +433,14 @@ bool LibMadPlugin::open( const QString& path ) { debugMsg( "LibMadPlugin::open" ); Config cfg("OpiePlayer"); cfg.setGroup("Options"); bufferSize = cfg.readNumEntry("MPeg_BufferSize",MPEG_BUFFER_SIZE); - // qDebug("buffer size is %d", bufferSize); + // odebug << "buffer size is " << bufferSize << "" << oendl; d->bad_last_frame = 0; d->flush = TRUE; info = QString( "" ); - //qDebug( "Opening %s", path.latin1() ); + //odebug << "Opening " << path << "" << oendl; if (path.left( 4 ) == "http" ) { // in case of any error we get 0 here if ( !(http_open(path) == 0) ) { @@ -449,36 +454,36 @@ bool LibMadPlugin::open( const QString& path ) { // thats a better place, since it should only seek for ID3 tags on mp3 files, not streams printID3Tags(); } if (d->input.fd == -1) { - // qDebug("error opening %s", d->input.path ); + // odebug << "error opening " << d->input.path << "" << oendl; return FALSE; } struct stat stat; if (fstat(d->input.fd, &stat) == -1) { - // qDebug("error calling fstat"); return FALSE; + // odebug << "error calling fstat" << oendl; return FALSE; } if (S_ISREG(stat.st_mode) && stat.st_size > 0) d->input.fileLength = stat.st_size; else d->input.fileLength = 0; - + #if defined(HAVE_MMAP) if (S_ISREG(stat.st_mode) && stat.st_size > 0) { d->input.length = stat.st_size; d->input.fdm = map_file(d->input.fd, &d->input.length); if (d->input.fdm == 0) { - // qDebug("error mmapping file"); return FALSE; + // odebug << "error mmapping file" << oendl; return FALSE; } d->input.data = (unsigned char *)d->input.fdm; } #endif if (d->input.data == 0) { d->input.data = (unsigned char *)malloc( bufferSize /*MPEG_BUFFER_SIZE*/); if (d->input.data == 0) { - // qDebug("error allocating input buffer"); + // odebug << "error allocating input buffer" << oendl; return FALSE; } d->input.length = 0; } @@ -504,9 +509,9 @@ bool LibMadPlugin::close() { #if defined(HAVE_MMAP) if (d->input.fdm) { if (unmap_file(d->input.fdm, d->input.length) == -1) { - // qDebug("error munmapping file"); + // odebug << "error munmapping file" << oendl; result = FALSE; } d->input.fdm = 0; d->input.data = 0; @@ -518,9 +523,9 @@ bool LibMadPlugin::close() { d->input.data = 0; } if (::close(d->input.fd) == -1) { - // qDebug("error closing file %s", d->input.path); + // odebug << "error closing file " << d->input.path << "" << oendl; result = FALSE; } d->input.fd = 0; @@ -544,9 +549,9 @@ int LibMadPlugin::audioStreams() { int LibMadPlugin::audioChannels( int ) { debugMsg( "LibMadPlugin::audioChannels" ); /* long t; short t1[5]; audioReadSamples( t1, 2, 1, t, 0 ); - qDebug( "LibMadPlugin::audioChannels: %i", d->frame.header.mode > 0 ? 2 : 1 ); + odebug << "LibMadPlugin::audioChannels: " << d->frame.header.mode > 0 ? 2 : 1 << "" << oendl; return d->frame.header.mode > 0 ? 2 : 1; */ return 2; } @@ -554,9 +559,9 @@ int LibMadPlugin::audioChannels( int ) { int LibMadPlugin::audioFrequency( int ) { debugMsg( "LibMadPlugin::audioFrequency" ); long t; short t1[5]; audioReadSamples( t1, 2, 1, t, 0 ); - // qDebug( "LibMadPlugin::audioFrequency: %i", d->frame.header.samplerate ); + // odebug << "LibMadPlugin::audioFrequency: " << d->frame.header.samplerate << "" << oendl; return d->frame.header.samplerate; } @@ -565,19 +570,18 @@ int LibMadPlugin::audioSamples( int ) { long t; short t1[5]; audioReadSamples( t1, 2, 1, t, 0 ); mad_header_decode( (struct mad_header *)&d->frame.header, &d->stream ); /* - qDebug( "LibMadPlugin::audioSamples: %i*%i", d->frame.header.duration.seconds, - d->frame.header.samplerate ); + odebug << "LibMadPlugin::audioSamples: " << d->frame.header.duration.seconds << "*" << d->frame.header.samplerate << oendl; return d->frame.header.duration.seconds * d->frame.header.samplerate; */ if ( d->frame.header.bitrate == 0 ) return 0; int samples = (d->input.fileLength / (d->frame.header.bitrate/8)) * d->frame.header.samplerate; // qDebug( "LibMadPlugin::audioSamples: %i * %i * 8 / %i", (int)d->input.fileLength, - // (int)d->frame.header.samplerate, (int)d->frame.header.bitrate ); - // qDebug( "LibMadPlugin::audioSamples: %i", samples ); + // (int)d->frame.header.samplerate, (int)d->frame.header.bitrate ); + // odebug << "LibMadPlugin::audioSamples: " << samples << "" << oendl; return samples; // return 10000000; @@ -591,9 +595,9 @@ bool LibMadPlugin::audioSetSample( long, int ) { // if ( totalSamples <= 1 ) // return FALSE; // // Seek to requested position -// qDebug( "seek pos: %i", (int)((double)pos * d->input.fileLength / totalSamples) ); +// odebug << "seek pos: " << (int)((double)pos * d->input.fileLength / totalSamples) << "" << oendl; // ::lseek( d->input.fd, (long)((double)pos * d->input.fileLength / totalSamples), SEEK_SET ); // mad_stream_sync(&d->stream); // mad_stream_init(&d->stream); @@ -679,9 +683,9 @@ bool LibMadPlugin::read() { } while (len == -1 && errno == EINTR); if (len == -1) { - // qDebug("error reading audio"); + // odebug << "error reading audio" << oendl; return FALSE; } else if (len == 0) { d->input.eof = 1; @@ -757,9 +761,9 @@ bool LibMadPlugin::decode( short *output, long samples, long& samplesMade ) { return FALSE; // Feed me } if ( d->stream.error == MAD_ERROR_BADCRC ) { mad_frame_mute(&d->frame); - // qDebug( "error decoding, bad crc" ); + // odebug << "error decoding, bad crc" << oendl; } } mad_synth_frame(&d->synth, &d->frame); @@ -820,19 +824,19 @@ double LibMadPlugin::getTime() { } void LibMadPlugin::printID3Tags() { - // qDebug( "LibMadPlugin::printID3Tags" ); + // odebug << "LibMadPlugin::printID3Tags" << oendl; char id3v1[128 + 1]; if ( ::lseek( d->input.fd, -128, SEEK_END ) == -1 ) { - // qDebug( "error seeking to id3 tags" ); + // odebug << "error seeking to id3 tags" << oendl; return; } if ( ::read( d->input.fd, id3v1, 128 ) != 128 ) { - // qDebug( "error reading in id3 tags" ); + // odebug << "error reading in id3 tags" << oendl; return; } if ( ::strncmp( (const char *)id3v1, "TAG", 3 ) != 0 ) { @@ -840,9 +844,9 @@ void LibMadPlugin::printID3Tags() { } else { int len[5] = { 30, 30, 30, 4, 30 }; QString label[5] = { tr( "Title" ), tr( "Artist" ), tr( "Album" ), tr( "Year" ), tr( "Comment" ) }; char *ptr = id3v1 + 3, *ptr2 = ptr + len[0]; - // qDebug( "ID3 tags in file:" ); + // odebug << "ID3 tags in file:" << oendl; info = ""; for ( int i = 0; i < 5; ptr += len[i], i++, ptr2 += len[i] ) { char push = *ptr2; *ptr2 = '\0'; @@ -852,18 +856,18 @@ void LibMadPlugin::printID3Tags() { if ( strcmp( ptr, "" ) ) { if( ((QString)ptr).find(" ") == -1) // don't add anything that has blanks info += ( i != 0 ? ", " : "" ) + label[i] + ": " + ptr; } -// qDebug( info.latin1() ); +// odebug << info.latin1() << oendl; *ptr3 = push2; *ptr2 = push; } if (id3v1[126] == 0 && id3v1[127] != 0) info += tr( ", Track: " ) + id3v1[127]; } if ( ::lseek(d->input.fd, 0, SEEK_SET) == -1 ) { - // qDebug( "error seeking back to beginning" ); + // odebug << "error seeking back to beginning" << oendl; return; } } |