summaryrefslogtreecommitdiff
path: root/core/multimedia
authorharlekin <harlekin>2002-04-22 22:28:33 (UTC)
committer harlekin <harlekin>2002-04-22 22:28:33 (UTC)
commit01ddcc2d67eb928eec6018e7e355820f2458b74f (patch) (unidiff)
tree25207e33fe281a07487e393f78c7686565811751 /core/multimedia
parent1ce5e1128e3c062d45e6dcfbcda20f195b4d5b13 (diff)
downloadopie-01ddcc2d67eb928eec6018e7e355820f2458b74f.zip
opie-01ddcc2d67eb928eec6018e7e355820f2458b74f.tar.gz
opie-01ddcc2d67eb928eec6018e7e355820f2458b74f.tar.bz2
fixed to segfault in connection to shoutcast
Diffstat (limited to 'core/multimedia') (more/less context) (ignore whitespace changes)
-rw-r--r--core/multimedia/opieplayer/libmad/libmadplugin.cpp10
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
@@ -414,60 +414,66 @@ int LibMadPlugin::http_open(const QString& path ) {
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
424bool LibMadPlugin::open( const QString& path ) { 424bool 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");