mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 12:11:13 +00:00
gst/avi/gstavimux.c: Fix "Index entry has invalid stream nr 1".
Original commit message from CVS: * gst/avi/gstavimux.c: Fix "Index entry has invalid stream nr 1". Add support for muxing aac - work in progress (see #482495).
This commit is contained in:
parent
5274c3f4e2
commit
b36ce655d8
2 changed files with 30 additions and 10 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2007-10-02 Stefan Kost <ensonic@users.sf.net>
|
||||||
|
|
||||||
|
* gst/avi/gstavimux.c:
|
||||||
|
Fix "Index entry has invalid stream nr 1".
|
||||||
|
Add support for muxing aac - work in progress (see #482495).
|
||||||
|
|
||||||
2007-10-01 Wim Taymans <wim.taymans@gmail.com>
|
2007-10-01 Wim Taymans <wim.taymans@gmail.com>
|
||||||
|
|
||||||
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_get_bandwidth),
|
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_get_bandwidth),
|
||||||
|
|
|
@ -171,6 +171,9 @@ static GstStaticPadTemplate audio_sink_factory =
|
||||||
"mpegversion = (int) 1, "
|
"mpegversion = (int) 1, "
|
||||||
"layer = (int) [ 1, 3 ], "
|
"layer = (int) [ 1, 3 ], "
|
||||||
"rate = (int) [ 1000, 96000 ], " "channels = (int) [ 1, 2 ]; "
|
"rate = (int) [ 1000, 96000 ], " "channels = (int) [ 1, 2 ]; "
|
||||||
|
"audio/mpeg, "
|
||||||
|
"mpegversion = (int) 4, "
|
||||||
|
"rate = (int) [ 1000, 96000 ], " "channels = (int) [ 1, 2 ]; "
|
||||||
/*#if 0 VC6 doesn't support #if here ...
|
/*#if 0 VC6 doesn't support #if here ...
|
||||||
"audio/x-vorbis, "
|
"audio/x-vorbis, "
|
||||||
"rate = (int) [ 1000, 96000 ], " "channels = (int) [ 1, 2 ]; "
|
"rate = (int) [ 1000, 96000 ], " "channels = (int) [ 1, 2 ]; "
|
||||||
|
@ -627,16 +630,27 @@ gst_avi_mux_audsink_set_caps (GstPad * pad, GstCaps * vscaps)
|
||||||
avipad->auds.format = 0;
|
avipad->auds.format = 0;
|
||||||
|
|
||||||
if (!strcmp (mimetype, "audio/mpeg")) {
|
if (!strcmp (mimetype, "audio/mpeg")) {
|
||||||
gint layer = 3;
|
gint mpegversion;
|
||||||
|
|
||||||
gst_structure_get_int (structure, "layer", &layer);
|
gst_structure_get_int (structure, "mpegversion", &mpegversion);
|
||||||
switch (layer) {
|
switch (mpegversion) {
|
||||||
case 3:
|
case 1:{
|
||||||
avipad->auds.format = GST_RIFF_WAVE_FORMAT_MPEGL3;
|
gint layer = 3;
|
||||||
|
|
||||||
|
gst_structure_get_int (structure, "layer", &layer);
|
||||||
|
switch (layer) {
|
||||||
|
case 3:
|
||||||
|
avipad->auds.format = GST_RIFF_WAVE_FORMAT_MPEGL3;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
case 2:
|
||||||
|
avipad->auds.format = GST_RIFF_WAVE_FORMAT_MPEGL12;
|
||||||
|
break;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 1:
|
}
|
||||||
case 2:
|
case 4:
|
||||||
avipad->auds.format = GST_RIFF_WAVE_FORMAT_MPEGL12;
|
avipad->auds.format = GST_RIFF_WAVE_FORMAT_AAC;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else if (!strcmp (mimetype, "audio/x-vorbis")) {
|
} else if (!strcmp (mimetype, "audio/x-vorbis")) {
|
||||||
|
@ -1354,8 +1368,8 @@ gst_avi_mux_start_file (GstAviMux * avimux)
|
||||||
node = node->next;
|
node = node->next;
|
||||||
|
|
||||||
if (!avipad->is_video) {
|
if (!avipad->is_video) {
|
||||||
avipad->tag = g_strdup_printf ("%02uwb", ++avimux->audio_pads);
|
avipad->tag = g_strdup_printf ("%02uwb", avimux->audio_pads);
|
||||||
avipad->idx_tag = g_strdup_printf ("ix%02u", avimux->audio_pads);
|
avipad->idx_tag = g_strdup_printf ("ix%02u", avimux->audio_pads++);
|
||||||
} else {
|
} else {
|
||||||
avipad->tag = g_strdup_printf ("%02udb", avimux->video_pads);
|
avipad->tag = g_strdup_printf ("%02udb", avimux->video_pads);
|
||||||
avipad->idx_tag = g_strdup_printf ("ix%02u", avimux->video_pads++);
|
avipad->idx_tag = g_strdup_printf ("ix%02u", avimux->video_pads++);
|
||||||
|
|
Loading…
Reference in a new issue