aboutsummaryrefslogtreecommitdiffstats
path: root/src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java
diff options
context:
space:
mode:
authorSven Gothel <sgothel@jausoft.com>2023-05-23 02:13:08 +0200
committerSven Gothel <sgothel@jausoft.com>2023-05-23 02:13:08 +0200
commitb294b6e4f9a3dc24bcdce28f0a9c45eda8755f1f (patch)
tree1b7e5473ed3786c41419b7d1e6ce2f8b7fe8e9d3 /src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java
parent55fb624ac388a88c068bd9f9e7cc3164458d6201 (diff)
GLMediaPlayer: Add setAudioChannelLimit(..), correlating with AudioSink.setChannelLimit() ..
May be utilized to enforce 1 channel (mono) downsampling in combination with JOAL/OpenAL to experience spatial 3D position effects.
Diffstat (limited to 'src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java')
-rw-r--r--src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java b/src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java
index d6bbbdc5d..7b86b012d 100644
--- a/src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java
+++ b/src/jogl/classes/jogamp/opengl/util/av/impl/FFMPEGMediaPlayer.java
@@ -346,6 +346,12 @@ public class FFMPEGMediaPlayer extends GLMediaPlayerImpl {
} else {
audioSink = AudioSinkFactory.createDefault(FFMPEGMediaPlayer.class.getClassLoader());
}
+ {
+ final int audioChannelLimit = getAudioChannelLimit();
+ if( audioChannelLimit >= 1 ) {
+ audioSink.setChannelLimit(audioChannelLimit);
+ }
+ }
final AudioFormat preferredAudioFormat = audioSink.getPreferredFormat();
if(DEBUG) {
System.err.println("initStream: p2 aid "+aid+", preferred "+preferredAudioFormat+" on "+audioSink+", "+this);
@@ -385,7 +391,7 @@ public class FFMPEGMediaPlayer extends GLMediaPlayerImpl {
} else {
resStreamLocS = streamLocS;
}
- final int aMaxChannelCount = audioSink.getMaxSupportedChannels();
+ final int aMaxChannelCount = preferredAudioFormat.channelCount;
final int aPrefSampleRate = preferredAudioFormat.sampleRate;
// setStream(..) issues updateAttributes*(..), and defines avChosenAudioFormat, vid, aid, .. etc
if(DEBUG) {