diff options
author | Julien Moutte <julien@moutte.net> | 2007-09-27 10:06:23 +0000 |
---|---|---|
committer | Julien Moutte <julien@moutte.net> | 2007-09-27 10:06:23 +0000 |
commit | 24c1b1dae1a1c113766b08b3c2956c9d403b03d3 (patch) | |
tree | 86801dcf5ff45c399f2688de3b5a82e7614d8496 /gst/flv | |
parent | ef4ea4876c436e4080950a7db9f6a2678535e600 (diff) | |
download | gstreamer-plugins-bad-24c1b1dae1a1c113766b08b3c2956c9d403b03d3.tar.gz |
gst/flv/gstflvparse.c: I got it wrong again, audio rate was not detected correctly in all cases.
Original commit message from CVS:
2007-09-27 Julien MOUTTE <julien@moutte.net>
* gst/flv/gstflvparse.c: (gst_flv_parse_tag_audio),
(gst_flv_parse_tag_video): I got it wrong again, audio rate
was not detected correctly in all cases.
Diffstat (limited to 'gst/flv')
-rw-r--r-- | gst/flv/gstflvparse.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/gst/flv/gstflvparse.c b/gst/flv/gstflvparse.c index bf475cb3d..fe5bfd101 100644 --- a/gst/flv/gstflvparse.c +++ b/gst/flv/gstflvparse.c @@ -419,11 +419,11 @@ gst_flv_parse_tag_audio (GstFLVDemux * demux, const guint8 * data, width = 16; } /* Sampling rate */ - if ((flags >> 2) == 3) { + if ((flags & 0x0C) == 0x0C) { rate = 44100; - } else if ((flags >> 2) == 2) { + } else if ((flags & 0x0C) == 0x08) { rate = 22050; - } else if ((flags >> 2) == 1) { + } else if ((flags & 0x0C) == 0x04) { rate = 11025; } /* Codec tag */ @@ -457,7 +457,8 @@ gst_flv_parse_tag_audio (GstFLVDemux * demux, const guint8 * data, case 3: caps = gst_caps_new_simple ("audio/x-raw-int", "endianness", G_TYPE_INT, G_BYTE_ORDER, - "signed", G_TYPE_BOOLEAN, TRUE, NULL); + "signed", G_TYPE_BOOLEAN, TRUE, + "width", G_TYPE_INT, width, "depth", G_TYPE_INT, width, NULL); break; default: GST_WARNING_OBJECT (demux, "unsupported audio codec tag %u", codec_tag); @@ -472,9 +473,7 @@ gst_flv_parse_tag_audio (GstFLVDemux * demux, const guint8 * data, } gst_caps_set_simple (caps, - "rate", G_TYPE_INT, rate, - "channels", G_TYPE_INT, channels, - "width", G_TYPE_INT, width, "depth", G_TYPE_INT, width, NULL); + "rate", G_TYPE_INT, rate, "channels", G_TYPE_INT, channels, NULL); gst_pad_set_caps (demux->audio_pad, caps); |