mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-17 19:55:32 +00:00
[MOVED FROM BAD 13/57] 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.
This commit is contained in:
parent
df2c2e1d96
commit
79c20be6bd
1 changed files with 6 additions and 7 deletions
|
@ -419,11 +419,11 @@ gst_flv_parse_tag_audio (GstFLVDemux * demux, const guint8 * data,
|
||||||
width = 16;
|
width = 16;
|
||||||
}
|
}
|
||||||
/* Sampling rate */
|
/* Sampling rate */
|
||||||
if ((flags >> 2) == 3) {
|
if ((flags & 0x0C) == 0x0C) {
|
||||||
rate = 44100;
|
rate = 44100;
|
||||||
} else if ((flags >> 2) == 2) {
|
} else if ((flags & 0x0C) == 0x08) {
|
||||||
rate = 22050;
|
rate = 22050;
|
||||||
} else if ((flags >> 2) == 1) {
|
} else if ((flags & 0x0C) == 0x04) {
|
||||||
rate = 11025;
|
rate = 11025;
|
||||||
}
|
}
|
||||||
/* Codec tag */
|
/* Codec tag */
|
||||||
|
@ -457,7 +457,8 @@ gst_flv_parse_tag_audio (GstFLVDemux * demux, const guint8 * data,
|
||||||
case 3:
|
case 3:
|
||||||
caps = gst_caps_new_simple ("audio/x-raw-int",
|
caps = gst_caps_new_simple ("audio/x-raw-int",
|
||||||
"endianness", G_TYPE_INT, G_BYTE_ORDER,
|
"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;
|
break;
|
||||||
default:
|
default:
|
||||||
GST_WARNING_OBJECT (demux, "unsupported audio codec tag %u", codec_tag);
|
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,
|
gst_caps_set_simple (caps,
|
||||||
"rate", G_TYPE_INT, rate,
|
"rate", G_TYPE_INT, rate, "channels", G_TYPE_INT, channels, NULL);
|
||||||
"channels", G_TYPE_INT, channels,
|
|
||||||
"width", G_TYPE_INT, width, "depth", G_TYPE_INT, width, NULL);
|
|
||||||
|
|
||||||
gst_pad_set_caps (demux->audio_pad, caps);
|
gst_pad_set_caps (demux->audio_pad, caps);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue