-rw-r--r-- | core/multimedia/opieplayer/libmad/libmadplugin.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/core/multimedia/opieplayer/libmad/libmadplugin.cpp b/core/multimedia/opieplayer/libmad/libmadplugin.cpp index 8b692ef..c744c6d 100644 --- a/core/multimedia/opieplayer/libmad/libmadplugin.cpp +++ b/core/multimedia/opieplayer/libmad/libmadplugin.cpp | |||
@@ -406,76 +406,82 @@ int LibMadPlugin::http_open(const QString& path ) { | |||
406 | bitrate = tr("Bitrate: ") + QString(http_request).mid(7, (QString(http_request).length())- 7 ); | 406 | bitrate = tr("Bitrate: ") + QString(http_request).mid(7, (QString(http_request).length())- 7 ); |
407 | } else if ( QString( http_request ).left( 7 ) == "icy-url" ) { | 407 | } else if ( QString( http_request ).left( 7 ) == "icy-url" ) { |
408 | url = tr("URL: ") + QString(http_request).mid(8, (QString(http_request).length())- 8 ); | 408 | url = tr("URL: ") + QString(http_request).mid(8, (QString(http_request).length())- 8 ); |
409 | } else if ( QString( http_request ).left( 10 ) == "icy-notice" ) { | 409 | } else if ( QString( http_request ).left( 10 ) == "icy-notice" ) { |
410 | message += QString(http_request).mid(11, QString(http_request).length()-11 ) ; | 410 | message += QString(http_request).mid(11, QString(http_request).length()-11 ) ; |
411 | } | 411 | } |
412 | } | 412 | } |
413 | } while (strcmp(http_request, "\n") != 0); | 413 | } while (strcmp(http_request, "\n") != 0); |
414 | 414 | ||
415 | info = QString(name + genre + url + bitrate + message).replace( QRegExp("\n"), " : " ); | 415 | info = QString(name + genre + url + bitrate + message).replace( QRegExp("\n"), " : " ); |
416 | 416 | ||
417 | qDebug("Stream info: " + info); | 417 | qDebug("Stream info: " + info); |
418 | 418 | ||
419 | return (tcp_sock); | 419 | return (tcp_sock); |
420 | } | 420 | } |
421 | 421 | ||
422 | 422 | ||
423 | 423 | ||
424 | bool LibMadPlugin::open( const QString& path ) { | 424 | bool LibMadPlugin::open( const QString& path ) { |
425 | debugMsg( "LibMadPlugin::open" ); | 425 | debugMsg( "LibMadPlugin::open" ); |
426 | Config cfg("MediaPlayer"); | 426 | Config cfg("MediaPlayer"); |
427 | cfg.setGroup("Options"); | 427 | cfg.setGroup("Options"); |
428 | bufferSize = cfg.readNumEntry("MPeg_BufferSize",MPEG_BUFFER_SIZE); | 428 | bufferSize = cfg.readNumEntry("MPeg_BufferSize",MPEG_BUFFER_SIZE); |
429 | qDebug("buffer size is %d", bufferSize); | 429 | qDebug("buffer size is %d", bufferSize); |
430 | d->bad_last_frame = 0; | 430 | d->bad_last_frame = 0; |
431 | d->flush = TRUE; | 431 | d->flush = TRUE; |
432 | info = QString( "" ); | 432 | info = QString( "" ); |
433 | 433 | ||
434 | //qDebug( "Opening %s", path.latin1() ); | 434 | //qDebug( "Opening %s", path.latin1() ); |
435 | 435 | ||
436 | 436 | ||
437 | if (path.left( 4 ) == "http" ) { | 437 | if (path.left( 4 ) == "http" ) { |
438 | qDebug("Test2"); | ||
438 | // in case of any error we get 0 here | 439 | // in case of any error we get 0 here |
439 | if ( !(http_open(path)==0) ) { | 440 | if ( !(http_open(path) == 0) ) { |
441 | qDebug("Test3"); | ||
440 | d->input.fd = http_open(path); | 442 | d->input.fd = http_open(path); |
443 | } else { | ||
444 | qDebug("Test5"); | ||
445 | return FALSE; | ||
441 | } | 446 | } |
442 | } else { | 447 | } else { |
448 | qDebug("Test4"); | ||
443 | d->input.path = path.latin1(); | 449 | d->input.path = path.latin1(); |
444 | d->input.fd = ::open( d->input.path, O_RDONLY ); | 450 | d->input.fd = ::open( d->input.path, O_RDONLY ); |
445 | // thats a better place, since it should only seek for ID3 tags on mp3 files, not streams | 451 | // thats a better place, since it should only seek for ID3 tags on mp3 files, not streams |
446 | printID3Tags(); | 452 | printID3Tags(); |
447 | } | 453 | } |
448 | if (d->input.fd == -1) { | 454 | if (d->input.fd == -1) { |
449 | // qDebug("error opening %s", d->input.path ); | 455 | qDebug("error opening %s", d->input.path ); |
450 | return FALSE; | 456 | return FALSE; |
451 | } | 457 | } |
452 | 458 | ||
453 | // printID3Tags(); | 459 | // printID3Tags(); |
454 | 460 | ||
455 | #if defined(HAVE_MMAP) | 461 | #if defined(HAVE_MMAP) |
456 | struct stat stat; | 462 | struct stat stat; |
457 | if (fstat(d->input.fd, &stat) == -1) { | 463 | if (fstat(d->input.fd, &stat) == -1) { |
458 | //qDebug("error calling fstat"); return FALSE; | 464 | //qDebug("error calling fstat"); return FALSE; |
459 | } | 465 | } |
460 | if (S_ISREG(stat.st_mode) && stat.st_size > 0) { | 466 | if (S_ISREG(stat.st_mode) && stat.st_size > 0) { |
461 | d->input.length = stat.st_size; | 467 | d->input.length = stat.st_size; |
462 | d->input.fdm = map_file(d->input.fd, &d->input.length); | 468 | d->input.fdm = map_file(d->input.fd, &d->input.length); |
463 | if (d->input.fdm == 0) { | 469 | if (d->input.fdm == 0) { |
464 | qDebug("error mmapping file"); return FALSE; | 470 | qDebug("error mmapping file"); return FALSE; |
465 | } | 471 | } |
466 | d->input.data = (unsigned char *)d->input.fdm; | 472 | d->input.data = (unsigned char *)d->input.fdm; |
467 | } | 473 | } |
468 | #endif | 474 | #endif |
469 | 475 | ||
470 | if (d->input.data == 0) { | 476 | if (d->input.data == 0) { |
471 | d->input.data = (unsigned char *)malloc( bufferSize /*MPEG_BUFFER_SIZE*/); | 477 | d->input.data = (unsigned char *)malloc( bufferSize /*MPEG_BUFFER_SIZE*/); |
472 | if (d->input.data == 0) { | 478 | if (d->input.data == 0) { |
473 | qDebug("error allocating input buffer"); | 479 | qDebug("error allocating input buffer"); |
474 | return FALSE; | 480 | return FALSE; |
475 | } | 481 | } |
476 | d->input.length = 0; | 482 | d->input.length = 0; |
477 | } | 483 | } |
478 | 484 | ||
479 | d->input.eof = 0; | 485 | d->input.eof = 0; |
480 | 486 | ||
481 | mad_stream_init(&d->stream); | 487 | mad_stream_init(&d->stream); |