vlc | branch: master | Thomas Guillem <[email protected]> | 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 )

_______________________________________________
vlc-commits mailing list
[email protected]
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to