]> git.sesse.net Git - vlc/commitdiff
auhal: towards working S/PDIF output
authorDavid Fuhrmann <david.fuhrmann@googlemail.com>
Wed, 6 Mar 2013 19:23:24 +0000 (20:23 +0100)
committerDavid Fuhrmann <david.fuhrmann@googlemail.com>
Wed, 6 Mar 2013 19:28:18 +0000 (20:28 +0100)
Now, S/PDIF works at least in the sense that it plays something which "seems"
to be in sync more or less.

refs #8083

modules/audio_output/auhal.c

index 353096d7f067d913d1bc19b7c8f317a9246aef39..15d053c65bdcce5e6672f9a1a86b292e56c02637 100644 (file)
@@ -305,6 +305,11 @@ static int Start(audio_output_t *p_aout, audio_sample_format_t *restrict fmt)
         p_aout->play = Play;
         p_aout->flush = Flush;
         p_aout->time_get = TimeGet;
+
+        // TODO fix TimeGet for S/PDIF
+        if (AOUT_FMT_SPDIF (fmt) && p_sys->b_selected_dev_is_digital)
+            p_aout->time_get = NULL;
+
         p_aout->pause = Pause;
         return VLC_SUCCESS;
     }
@@ -849,6 +854,11 @@ static int StartSPDIF (audio_output_t * p_aout, audio_sample_format_t *fmt)
         return false;
     }
 
+    /* setup circular buffer */
+    TPCircularBufferInit(&p_sys->circular_buffer, kBufferLength);
+    p_sys->i_played_length = 0;
+    p_sys->i_last_sample_time = 0;
+
     return true;
 }