add support for old flac in ogg

fixes samples.mplayerhq.hu/flac/Yesterday.ogg
closes issue73

Originally committed as revision 10088 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Michael Niedermayer 2007-08-12 09:29:39 +00:00
parent 4e68cb8ac7
commit 880e3ef413
3 changed files with 18 additions and 0 deletions

View File

@ -41,6 +41,7 @@ static ogg_codec_t *ogg_codecs[] = {
&vorbis_codec, &vorbis_codec,
&theora_codec, &theora_codec,
&flac_codec, &flac_codec,
&old_flac_codec,
&ogm_video_codec, &ogm_video_codec,
&ogm_audio_codec, &ogm_audio_codec,
&ogm_old_codec, &ogm_old_codec,

View File

@ -77,6 +77,7 @@ typedef struct ogg {
extern ogg_codec_t vorbis_codec; extern ogg_codec_t vorbis_codec;
extern ogg_codec_t theora_codec; extern ogg_codec_t theora_codec;
extern ogg_codec_t flac_codec; extern ogg_codec_t flac_codec;
extern ogg_codec_t old_flac_codec;
extern ogg_codec_t ogm_video_codec; extern ogg_codec_t ogm_video_codec;
extern ogg_codec_t ogm_audio_codec; extern ogg_codec_t ogm_audio_codec;
extern ogg_codec_t ogm_old_codec; extern ogg_codec_t ogm_old_codec;

View File

@ -75,8 +75,24 @@ flac_header (AVFormatContext * s, int idx)
return 1; return 1;
} }
static int
old_flac_header (AVFormatContext * s, int idx)
{
AVStream *st = s->streams[idx];
st->codec->codec_type = CODEC_TYPE_AUDIO;
st->codec->codec_id = CODEC_ID_FLAC;
return 0;
}
ogg_codec_t flac_codec = { ogg_codec_t flac_codec = {
.magic = "\177FLAC", .magic = "\177FLAC",
.magicsize = 5, .magicsize = 5,
.header = flac_header .header = flac_header
}; };
ogg_codec_t old_flac_codec = {
.magic = "fLaC",
.magicsize = 4,
.header = old_flac_header
};