فهرست منبع

Fix Video Player issue with audio mix_rate when different than 44100

Marcelo Fernandez 7 سال پیش
والد
کامیت
6fc1801b6a
2فایلهای تغییر یافته به همراه1 افزوده شده و 9 حذف شده
  1. 1 7
      scene/gui/video_player.cpp
  2. 0 2
      scene/gui/video_player.h

+ 1 - 7
scene/gui/video_player.cpp

@@ -38,11 +38,6 @@ int VideoPlayer::sp_get_channel_count() const {
 	return playback->get_channels();
 }
 
-void VideoPlayer::sp_set_mix_rate(int p_rate) {
-
-	server_mix_rate = p_rate;
-}
-
 bool VideoPlayer::mix(AudioFrame *p_buffer, int p_frames) {
 
 	// Check the amount resampler can really handle.
@@ -241,7 +236,7 @@ void VideoPlayer::set_stream(const Ref<VideoStream> &p_stream) {
 
 		AudioServer::get_singleton()->lock();
 		if (channels > 0)
-			resampler.setup(channels, playback->get_mix_rate(), server_mix_rate, buffering_ms, 0);
+			resampler.setup(channels, playback->get_mix_rate(), AudioServer::get_singleton()->get_mix_rate(), buffering_ms, 0);
 		else
 			resampler.clear();
 		AudioServer::get_singleton()->unlock();
@@ -494,7 +489,6 @@ VideoPlayer::VideoPlayer() {
 	bus_index = 0;
 
 	buffering_ms = 500;
-	server_mix_rate = 44100;
 
 	//	internal_stream.player=this;
 	//	stream_rid=AudioServer::get_singleton()->audio_stream_create(&internal_stream);

+ 0 - 2
scene/gui/video_player.h

@@ -50,7 +50,6 @@ class VideoPlayer : public Control {
 	Ref<VideoStream> stream;
 
 	int sp_get_channel_count() const;
-	void sp_set_mix_rate(int p_rate); //notify the stream of the mix rate
 	bool mix(AudioFrame *p_buffer, int p_frames);
 
 	RID stream_rid;
@@ -69,7 +68,6 @@ class VideoPlayer : public Control {
 	bool expand;
 	bool loops;
 	int buffering_ms;
-	int server_mix_rate;
 	int audio_track;
 	int bus_index;