comparison swf.c @ 1636:783969dab069 libavformat

always export audiostreams
author bcoudurier
date Sun, 14 Jan 2007 00:54:03 +0000
parents 59d2c40950ca
children 50bbf9658436
comparison
equal deleted inserted replaced
1635:59d2c40950ca 1636:783969dab069
809 } else if ( ( tag == TAG_STREAMHEAD || tag == TAG_STREAMHEAD2 ) && !ast) { 809 } else if ( ( tag == TAG_STREAMHEAD || tag == TAG_STREAMHEAD2 ) && !ast) {
810 /* streaming found */ 810 /* streaming found */
811 get_byte(pb); 811 get_byte(pb);
812 v = get_byte(pb); 812 v = get_byte(pb);
813 swf->samples_per_frame = get_le16(pb); 813 swf->samples_per_frame = get_le16(pb);
814 ast = av_new_stream(s, 1);
815 av_set_pts_info(ast, 24, 1, 1000); /* 24 bit pts in ms */
816 ast->codec->channels = 1 + (v&1);
817 ast->codec->codec_type = CODEC_TYPE_AUDIO;
818 if (v & 0x20)
819 ast->codec->codec_id = CODEC_ID_MP3;
820 ast->need_parsing = 1;
821 switch((v>> 2) & 0x03) {
822 case 1:
823 ast->codec->sample_rate = 11025;
824 break;
825 case 2:
826 ast->codec->sample_rate = 22050;
827 break;
828 case 3:
829 ast->codec->sample_rate = 44100;
830 break;
831 default:
832 return AVERROR_IO;
833 }
834
814 if (len > 4) 835 if (len > 4)
815 url_fskip(pb,len-4); 836 url_fskip(pb,len-4);
816 /* if mp3 streaming found, OK */ 837
817 if ((v & 0x20) != 0) {
818 ast = av_new_stream(s, 1);
819 if (!ast)
820 return -ENOMEM;
821 av_set_pts_info(ast, 24, 1, 1000); /* 24 bit pts in ms */
822
823 ast->codec->channels = 1 + (v&1);
824
825 switch((v>> 2) & 0x03) {
826 case 1:
827 ast->codec->sample_rate = 11025;
828 break;
829 case 2:
830 ast->codec->sample_rate = 22050;
831 break;
832 case 3:
833 ast->codec->sample_rate = 44100;
834 break;
835 default:
836 av_free(ast);
837 return AVERROR_IO;
838 }
839 ast->codec->codec_type = CODEC_TYPE_AUDIO;
840 ast->codec->codec_id = CODEC_ID_MP3;
841 ast->need_parsing = 1;
842 }
843 } else { 838 } else {
844 url_fskip(pb, len); 839 url_fskip(pb, len);
845 } 840 }
846 } 841 }
847 url_fseek(pb, firstTagOff, SEEK_SET); 842 url_fseek(pb, firstTagOff, SEEK_SET);