From 9f076da7e64be2abf5a095fee747447a4bbffa4e Mon Sep 17 00:00:00 2001 From: "Ronald S. Bultje" Date: Thu, 27 May 2004 12:15:04 +0000 Subject: [PATCH] ext/alsa/gstalsamixer.c: Select first track as master track. Not sure how else to handle that... Original commit message from CVS: * ext/alsa/gstalsamixer.c: (gst_alsa_mixer_build_list): Select first track as master track. Not sure how else to handle that... * ext/ogg/gstoggmux.c: (gst_ogg_mux_next_buffer): Discard discont events. Should fix #142962. --- ChangeLog | 8 ++++++++ ext/alsa/gstalsamixer.c | 9 +++++++++ ext/ogg/gstoggmux.c | 3 +++ 3 files changed, 20 insertions(+) diff --git a/ChangeLog b/ChangeLog index f3945262a1..a44fcf0573 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2004-05-27 Ronald Bultje + + * ext/alsa/gstalsamixer.c: (gst_alsa_mixer_build_list): + Select first track as master track. Not sure how else to handle + that... + * ext/ogg/gstoggmux.c: (gst_ogg_mux_next_buffer): + Discard discont events. Should fix #142962. + 2004-05-26 Ronald Bultje * ext/alsa/Makefile.am: diff --git a/ext/alsa/gstalsamixer.c b/ext/alsa/gstalsamixer.c index ab7d5331fa..9c40b429f6 100644 --- a/ext/alsa/gstalsamixer.c +++ b/ext/alsa/gstalsamixer.c @@ -249,6 +249,7 @@ gst_alsa_mixer_build_list (GstAlsaMixer * mixer) GstMixerOptions *opts; const GList *templates; GstPadDirection dir = GST_PAD_UNKNOWN; + gboolean first = TRUE; g_return_if_fail (mixer->mixer_handle != NULL); @@ -278,6 +279,10 @@ gst_alsa_mixer_build_list (GstAlsaMixer * mixer) if (snd_mixer_selem_has_capture_volume (element)) { while (snd_mixer_selem_has_capture_channel (element, channels)) channels++; + if (first) { + first = FALSE; + flags |= GST_MIXER_TRACK_MASTER; + } track = gst_alsa_mixer_track_new (element, i, channels, flags, GST_ALSA_MIXER_TRACK_CAPTURE); mixer->tracklist = g_list_append (mixer->tracklist, track); @@ -286,6 +291,10 @@ gst_alsa_mixer_build_list (GstAlsaMixer * mixer) if (snd_mixer_selem_has_playback_volume (element)) { while (snd_mixer_selem_has_playback_channel (element, channels)) channels++; + if (first) { + first = FALSE; + flags |= GST_MIXER_TRACK_MASTER; + } track = gst_alsa_mixer_track_new (element, i, channels, flags, GST_ALSA_MIXER_TRACK_PLAYBACK); mixer->tracklist = g_list_append (mixer->tracklist, track); diff --git a/ext/ogg/gstoggmux.c b/ext/ogg/gstoggmux.c index 115fabefb4..0a93161293 100644 --- a/ext/ogg/gstoggmux.c +++ b/ext/ogg/gstoggmux.c @@ -386,6 +386,9 @@ gst_ogg_mux_next_buffer (GstOggPad * pad) case GST_EVENT_EOS: gst_event_unref (event); return NULL; + case GST_EVENT_DISCONTINUOUS: + gst_event_unref (event); + break; default: gst_pad_event_default (pad->pad, event); break;