[vlc-commits] audiotrack: use an up to date buffer size

Thomas Guillem git at videolan.org
Tue Dec 1 12:16:13 CET 2020


vlc | branch: master | Thomas Guillem <thomas at gllm.fr> | Mon Nov 23 16:44:17 2020 +0100| [61aca1f24076d3480f5023a5746b61be6e244755] | committer: Thomas Guillem

audiotrack: use an up to date buffer size

The size returned by this new method should not be different than the
one when used to configure audiotrack. Theoretically, it can be bigger.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=61aca1f24076d3480f5023a5746b61be6e244755
---

 modules/audio_output/audiotrack.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/modules/audio_output/audiotrack.c b/modules/audio_output/audiotrack.c
index b146ecdb36..0c09f35d4e 100644
--- a/modules/audio_output/audiotrack.c
+++ b/modules/audio_output/audiotrack.c
@@ -210,6 +210,7 @@ static struct
         jmethodID writeShortV23;
         jmethodID writeBufferV21;
         jmethodID writeFloat;
+        jmethodID getBufferSizeInFrames;
         jmethodID getLatency;
         jmethodID getPlaybackHeadPosition;
         jmethodID getTimestamp;
@@ -360,6 +361,9 @@ InitJNIFields( audio_output_t *p_aout, JNIEnv* env )
     } else
         GET_ID( GetMethodID, AudioTrack.write, "write", "([BII)I", true );
 
+    GET_ID( GetMethodID, AudioTrack.getBufferSizeInFrames,
+            "getBufferSizeInFrames", "()I", false );
+
 #ifdef AUDIOTRACK_HW_LATENCY
     GET_ID( GetMethodID, AudioTrack.getLatency, "getLatency", "()I", false );
 #endif
@@ -1335,7 +1339,10 @@ Start( audio_output_t *p_aout, audio_sample_format_t *restrict p_fmt )
     if( i_ret != 0 )
         return VLC_EGENERIC;
 
-    p_sys->i_max_audiotrack_samples = BYTES_TO_FRAMES( p_sys->audiotrack_args.i_size );
+    if( jfields.AudioTrack.getBufferSizeInFrames )
+        p_sys->i_max_audiotrack_samples = JNI_AT_CALL_INT( getBufferSizeInFrames );
+    else
+        p_sys->i_max_audiotrack_samples = BYTES_TO_FRAMES( p_sys->audiotrack_args.i_size );
 
 #ifdef AUDIOTRACK_HW_LATENCY
     if( jfields.AudioTimestamp.clazz )



More information about the vlc-commits mailing list