Mercurial > audlegacy
comparison Plugins/Input/mpg123/http.c @ 1273:3b990c26fc46 trunk
[svn] - Support for the buffer indicator in playpaus.png that was apparently
ignored by XMMS devs. Supports mp3 streams only, at the moment.
author | nhjm449 |
---|---|
date | Fri, 16 Jun 2006 02:17:33 -0700 |
parents | b5ae09a6c2f1 |
children | f12d7e208b43 |
comparison
equal
deleted
inserted
replaced
1272:11785f0bf967 | 1273:3b990c26fc46 |
---|---|
653 g_free(output_name); | 653 g_free(output_name); |
654 } | 654 } |
655 | 655 |
656 while (going) { | 656 while (going) { |
657 | 657 |
658 if (!http_used() && !mpgdec_ip.output->buffer_playing()) | 658 if (!http_used() && !mpgdec_ip.output->buffer_playing()) { |
659 prebuffering = TRUE; | 659 prebuffering = TRUE; |
660 mpgdec_ip.set_status_buffering(TRUE); | |
661 } | |
660 if (http_free() > 0 && !eof) { | 662 if (http_free() > 0 && !eof) { |
661 if (http_check_for_data()) { | 663 if (http_check_for_data()) { |
662 cnt = min(http_free(), buffer_length - wr_index); | 664 cnt = min(http_free(), buffer_length - wr_index); |
663 if (cnt > 1024) | 665 if (cnt > 1024) |
664 cnt = 1024; | 666 cnt = 1024; |
665 written = read(sock, buffer + wr_index, cnt); | 667 written = read(sock, buffer + wr_index, cnt); |
666 if (written <= 0) { | 668 if (written <= 0) { |
667 eof = TRUE; | 669 eof = TRUE; |
668 if (prebuffering) { | 670 if (prebuffering) { |
669 prebuffering = FALSE; | 671 prebuffering = FALSE; |
672 mpgdec_ip.set_status_buffering(FALSE); | |
670 | 673 |
671 mpgdec_ip.set_info_text(NULL); | 674 mpgdec_ip.set_info_text(NULL); |
672 } | 675 } |
673 | 676 |
674 } | 677 } |
677 } | 680 } |
678 | 681 |
679 if (prebuffering) { | 682 if (prebuffering) { |
680 if (http_used() > prebuffer_length) { | 683 if (http_used() > prebuffer_length) { |
681 prebuffering = FALSE; | 684 prebuffering = FALSE; |
685 mpgdec_ip.set_status_buffering(FALSE); | |
682 mpgdec_ip.set_info_text(NULL); | 686 mpgdec_ip.set_info_text(NULL); |
683 } | 687 } |
684 else { | 688 else { |
685 status = | 689 status = |
686 g_strdup_printf(_("PRE-BUFFERING: %zuKB/%zuKB"), | 690 g_strdup_printf(_("PRE-BUFFERING: %zuKB/%zuKB"), |
731 buffer_length = mpgdec_cfg.http_buffer_size * 1024; | 735 buffer_length = mpgdec_cfg.http_buffer_size * 1024; |
732 prebuffer_length = (buffer_length * mpgdec_cfg.http_prebuffer) / 100; | 736 prebuffer_length = (buffer_length * mpgdec_cfg.http_prebuffer) / 100; |
733 buffer_read = 0; | 737 buffer_read = 0; |
734 icy_metaint = 0; | 738 icy_metaint = 0; |
735 prebuffering = TRUE; | 739 prebuffering = TRUE; |
740 mpgdec_ip.set_status_buffering(TRUE); | |
736 going = TRUE; | 741 going = TRUE; |
737 eof = FALSE; | 742 eof = FALSE; |
738 buffer = g_malloc(buffer_length); | 743 buffer = g_malloc(buffer_length); |
739 | 744 |
740 thread = g_thread_create(http_buffer_loop, url, TRUE, NULL); | 745 thread = g_thread_create(http_buffer_loop, url, TRUE, NULL); |