Open GoogleCodeExporter opened 8 years ago
Original comment by nomen.in...@gmail.com
on 17 Jul 2009 at 8:15
В r254 не было упреждающего чтения потока, по
сему была проблема с остановкой
воспроизведения во время интенсивных
дисковых операций.
В r255 очередь появилась, но работала не
полностью адекватно
С r256 очередь считается условно рабочей.
Если проблема только в производительности,
то нужно попробовать увеличить длину
очереди и уменьшить паузу при чтении,
например так:
--- player_ffmpeg.cpp.orig 2009-07-17 16:23:56.687500000 +0400
+++ player_ffmpeg.cpp 2009-07-17 16:24:17.609375000 +0400
@@ -30,7 +30,7 @@
#include <SDL.h>
#include <SDL_audio.h>
#define SDL_AUDIO_BUFFER_SIZE 1024
-#define QUEUESIZE 16
+#define QUEUESIZE 32
Q_EXPORT_PLUGIN2(player_ffmpeg, PlayerFfmpeg)
@@ -329,7 +329,7 @@
av_free_packet(&packet);
}
//if(ffmpeg.eofstream) ffmpeg.needToStop = true;
- SDL_Delay(100);
+ SDL_Delay(30);
}
SDL_LockAudio();
SDL_PauseAudio(1);
Если проблема не с производительностью, а с
кодеком, то сия операция должна непомочь.
Результатов жду тут.
ЗЫЖ У меня девелоперская машина наверно
слишком шустрая, сам запинок не замечал.
Original comment by drmoriar...@gmail.com
on 17 Jul 2009 at 12:27
На мощности тоже не могу жаловаться, но
дома, хоть и в меньшей степени, чем на
работе, эффект наблюдается. На домашней
машине патч помог. На работе теперь только
в
понедельник проверю. И, как отображено в
соседнем баге, при выходе cuberok
сегфолтится:
#0 0xb73e4146 in ?? () from /usr/lib/qt4/libQtCore.so.4
(gdb) bt
#0 0xb73e4146 in ?? () from /usr/lib/qt4/libQtCore.so.4
#1 0x085057b0 in ?? ()
#2 0xbfb4a938 in ?? ()
#3 0x0867a1f8 in ?? ()
#4 0xb751cff4 in ?? () from /usr/lib/qt4/libQtCore.so.4
#5 0x00000008 in ?? ()
#6 0x0860e458 in ?? ()
#7 0xbfb48aa8 in ?? ()
#8 0xb73e2207 in ?? () from /usr/lib/qt4/libQtCore.so.4
#9 0xbfb48a88 in ?? ()
#10 0x00000008 in ?? ()
#11 0x0860e45c in ?? ()
#12 0x0860e45c in ?? ()
#13 0x00000000 in ?? ()
(gdb)
Понимаю, что толку от такого бэктрейса
мало, но давно по глупости собрал свою
генту
с -fomit-frame-pointer
Original comment by nomen.in...@gmail.com
on 17 Jul 2009 at 3:22
Итак, вот у меня компьютер core2duo
model name : Intel(R) Core(TM)2 Duo CPU E8200 @ 2.66GHz
4 Gb оперативной памяти. Диски SATA.
SATA controller: Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH)
PCI bridge: Intel Corporation 82801I
Звуковая карта, похоже, не при чём.
00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio
Controller
(rev 02)
В общем, я считаю, что достаточно, особенно
в сравнении с mplayer и плагином
player_GStreamer, которые при указанной ниже
нагрузке играют те же файлы без
заметных на слух проблем.
В фоне запущены emerge world и на VirtualBox
устанавливается Debian. Торреннты
раздаются, много торрентов, Звук при
использовании плагина ffmpeg заметно
запинается. Даже с применённым
предложенным патчем. Сейчас установки
сделал даже вот
такие:
Index: src/player_ffmpeg.cpp
===================================================================
--- src/player_ffmpeg.cpp (revision 265)
+++ src/player_ffmpeg.cpp (working copy)
@@ -30,7 +30,7 @@
#include <SDL.h>
#include <SDL_audio.h>
#define SDL_AUDIO_BUFFER_SIZE 1024
-#define QUEUESIZE 16
+#define QUEUESIZE 1024
Q_EXPORT_PLUGIN2(player_ffmpeg, PlayerFfmpeg)
@@ -329,7 +329,7 @@
av_free_packet(&packet);
}
//if(ffmpeg.eofstream) ffmpeg.needToStop = true;
- SDL_Delay(100);
+ SDL_Delay(2);
}
SDL_LockAudio();
SDL_PauseAudio(1);
Похоже, что при нагрузке эти настройки не
влияют. GStreamer-плагин и mplayer играют
чисто.
Original comment by nomen.in...@gmail.com
on 17 Jul 2009 at 6:53
Щас переделал чуток очередь, на дебе в
виртуальной машине флаки вроде не лагают.
Так же исправил сегфолт на выходе.
Original comment by drmoriar...@gmail.com
on 20 Jul 2009 at 12:41
Мне всё интереснее и интереснее, что будет
дальше с seek на флаках ))
При переключении на следующий трек
какой-то артефакт звучит. Как я понимаю, он
остаётся от трека, который только что
воспроизводился. Под переключением я
понимаю
запуск другого трека двойным щелчком или
кнопкой next. Чтоб было лучше заметно,
воспроизводимый трек должен быть пошумнее,
какой-нибудь гитарный тяжеляк, например.
Original comment by nomen.in...@gmail.com
on 20 Jul 2009 at 1:47
На работе всё играет, проблема, которая
описана в начале прошла. Осталось только
то,
что описано в Comment 4. Сейчас нагрузки нет, но
регулярно (несколько раз в течение
трека) возникает вот это маленькое
"запинание". Не сказать, чтоб часто, на на
gstreamer
этого нет. Такое ощущение, как будто оно и
нет нагрузки вовсе. Происходит не только на
flac, но и на ogg/vorbis.
Original comment by nomen.in...@gmail.com
on 20 Jul 2009 at 1:54
Original issue reported on code.google.com by
nomen.in...@gmail.com
on 17 Jul 2009 at 8:14