[Bug 721740] general stream error with alsasink iec958 audio/x-ac3 passtrough

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Tue Jan 7 15:34:55 PST 2014


https://bugzilla.gnome.org/show_bug.cgi?id=721740
  GStreamer | gst-plugins-base | 1.2.2

--- Comment #6 from Daniel Schürmann <daschuer at gmx.de> 2014-01-07 23:34:52 UTC ---
Unfortunately the two patches are not making the pipeline work. 
I have managed to make it work with:

diff --git a/ext/alsa/gstalsasink.c b/ext/alsa/gstalsasink.c
index 19dbd8b..fdf896d 100644
--- a/ext/alsa/gstalsasink.c
+++ b/ext/alsa/gstalsasink.c
@@ -684,7 +684,11 @@ set_sw_params:
 static gboolean
 alsasink_parse_spec (GstAlsaSink * alsa, GstAudioRingBufferSpec * spec)
 {
-  /* Initialize our boolean */
+  alsa->rate = GST_AUDIO_INFO_RATE (&spec->info);
+  alsa->channels = GST_AUDIO_INFO_CHANNELS(&spec->info);
+  alsa->buffer_time = spec->buffer_time;
+  alsa->period_time = spec->latency_time;
+  alsa->access = SND_PCM_ACCESS_RW_INTERLEAVED;
   alsa->iec958 = FALSE;

   switch (spec->type) {
@@ -796,16 +800,13 @@ alsasink_parse_spec (GstAlsaSink * alsa,
GstAudioRingBuffe
     case GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MPEG:
       alsa->format = SND_PCM_FORMAT_S16_BE;
       alsa->iec958 = TRUE;
+      alsa->channels = 2;
+      GST_AUDIO_INFO_CHANNELS(&spec->info) = 2;
       break;
     default:
       goto error;

   }
-  alsa->rate = GST_AUDIO_INFO_RATE (&spec->info);
-  alsa->channels = GST_AUDIO_INFO_CHANNELS (&spec->info);
-  alsa->buffer_time = spec->buffer_time;
-  alsa->period_time = spec->latency_time;
-  alsa->access = SND_PCM_ACCESS_RW_INTERLEAVED;

   if (spec->type == GST_AUDIO_RING_BUFFER_FORMAT_TYPE_RAW && alsa->channels <
9
     gst_audio_ring_buffer_set_channel_positions (GST_AUDIO_BASE_SINK

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list