Mercurial > libavformat.hg
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); |