parent
c0797d3efe
commit
e8c647b16a
@ -1 +1,3 @@
|
|||||||
vlc-1.0.0-rc2.tar.bz2
|
vlc-1.0.0-rc2.tar.bz2
|
||||||
|
shine.c
|
||||||
|
enc_base.h
|
||||||
|
@ -1 +1,3 @@
|
|||||||
c0fe6fff896c165abb5bf949616a1eee vlc-1.0.0-rc2.tar.bz2
|
c0fe6fff896c165abb5bf949616a1eee vlc-1.0.0-rc2.tar.bz2
|
||||||
|
c64e9e104b1eeba838a6c87435c6533c shine.c
|
||||||
|
a897e4f24fb3fb993db7daf5a5f4d551 enc_base.h
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,66 @@
|
|||||||
|
diff --git a/modules/audio_output/pulse.c b/modules/audio_output/pulse.c
|
||||||
|
index 86bd6dd..ce133f9 100644
|
||||||
|
--- a/modules/audio_output/pulse.c
|
||||||
|
+++ b/modules/audio_output/pulse.c
|
||||||
|
@@ -175,16 +175,17 @@ static int Open ( vlc_object_t *p_this )
|
||||||
|
msg_Err(p_aout,"Invalid sample spec");
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+ a.maxlength = pa_bytes_per_second(&ss)/4/pa_frame_size(&ss);
|
||||||
|
+ a.tlength = a.maxlength*9/10;
|
||||||
|
+ a.prebuf = a.tlength/2;
|
||||||
|
+ a.minreq = a.tlength/10;
|
||||||
|
|
||||||
|
- /* Reduce overall latency to 200mS to reduce audible clicks
|
||||||
|
- * Also pulse minreq and internal buffers are now 20mS which reduces resampling
|
||||||
|
- */
|
||||||
|
- a.tlength = pa_bytes_per_second(&ss)/5;
|
||||||
|
- a.maxlength = a.tlength * 2;
|
||||||
|
- a.prebuf = a.tlength;
|
||||||
|
- a.minreq = a.tlength / 10;
|
||||||
|
+ a.maxlength *= pa_frame_size(&ss);
|
||||||
|
+ a.tlength *= pa_frame_size(&ss);
|
||||||
|
+ a.prebuf *= pa_frame_size(&ss);
|
||||||
|
+ a.minreq *= pa_frame_size(&ss);
|
||||||
|
|
||||||
|
- /* Buffer size is 20mS */
|
||||||
|
p_sys->buffer_size = a.minreq;
|
||||||
|
|
||||||
|
/* Initialise the speaker map setup above */
|
||||||
|
@@ -212,7 +213,7 @@ static int Open ( vlc_object_t *p_this )
|
||||||
|
PULSE_DEBUG( "Pulse after context connect");
|
||||||
|
|
||||||
|
pa_threaded_mainloop_lock(p_sys->mainloop);
|
||||||
|
-
|
||||||
|
+
|
||||||
|
if (pa_threaded_mainloop_start(p_sys->mainloop) < 0) {
|
||||||
|
msg_Err(p_aout, "Failed to start main loop");
|
||||||
|
goto unlock_and_fail;
|
||||||
|
@@ -239,7 +240,7 @@ static int Open ( vlc_object_t *p_this )
|
||||||
|
pa_stream_set_write_callback(p_sys->stream, stream_request_cb, p_aout);
|
||||||
|
pa_stream_set_latency_update_callback(p_sys->stream, stream_latency_update_cb, p_aout);
|
||||||
|
|
||||||
|
- if (pa_stream_connect_playback(p_sys->stream, NULL, &a, PA_STREAM_INTERPOLATE_TIMING|PA_STREAM_AUTO_TIMING_UPDATE|PA_STREAM_ADJUST_LATENCY, NULL, NULL) < 0) {
|
||||||
|
+ if (pa_stream_connect_playback(p_sys->stream, NULL, &a, PA_STREAM_INTERPOLATE_TIMING|PA_STREAM_AUTO_TIMING_UPDATE, NULL, NULL) < 0) {
|
||||||
|
msg_Err(p_aout, "Failed to connect stream: %s", pa_strerror(pa_context_errno(p_sys->context)));
|
||||||
|
goto unlock_and_fail;
|
||||||
|
}
|
||||||
|
@@ -447,11 +448,16 @@ static void stream_request_cb(pa_stream *s, size_t length, void *userdata) {
|
||||||
|
latency = 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
-
|
||||||
|
PULSE_DEBUG( "Pulse stream request latency=%"PRId64"", latency);
|
||||||
|
next_date = mdate() + latency;
|
||||||
|
|
||||||
|
+
|
||||||
|
if(p_sys->start_date < next_date + AOUT_PTS_TOLERANCE ){
|
||||||
|
+ /*
|
||||||
|
+ vlc_mutex_lock( &p_aout->output_fifo_lock );
|
||||||
|
+ p_buffer = aout_FifoPop( p_aout, &p_aout->output.fifo );
|
||||||
|
+ vlc_mutex_unlock( &p_aout->output_fifo_lock );
|
||||||
|
+ */
|
||||||
|
p_buffer = aout_OutputNextBuffer( p_aout, next_date, 0);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in new issue