It's not an error.
You don't need low latency audio for music playback.
But by using the maximum audio buffer size, Qt Media Player doesn't need to wake often (e.g only 3 time per second on my PC).
This is especially useful to save power on embedded systems.
g++ -c -pipe -Wall -W -D_REENTRANT -DUSE_KDE -DUSE_VIDEO -DUSE_TAGLIB -DUSE_HOTKEY -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../../share/qt4/mkspecs/linux-g++ -I. -I../../../../include/qt4/QtCore -I../../../../include/qt4/QtGui -I../../../../include/qt4/QtOpenGL -I../../../../include/qt4 -I../../../../X11R6/include -Ibuild -o build/main.o main.cpp
In file included from main.cpp:1:
main.h:24:27: error: KDE/KFileDialog: No such file or directory
In file included from main.h:19,
from main.cpp:1:
media.h:4: error: conflicting declaration 'typedef long int int64_t'
/usr/include/sys/types.h:198: error: 'int64_t' has a previous declaration as 'typedef long long int int64_t'
In file included from main.cpp:1:
main.h:89: error: ISO C++ forbids declaration of 'KFileDialog' with no type
main.h:89: error: expected ';' before '*' token
main.cpp: In constructor 'Player::Player()':
main.cpp:105: error: 'dialog' was not declared in this scope
main.cpp:105: error: expected type-specifier before 'KFileDialog'
main.cpp:105: error: expected ';' before 'KFileDialog'
main.cpp:106: error: 'KFile' has not been declared
main.cpp:106: error: 'KFile' has not been declared
main.cpp: In member function 'void Player::toggleOpen(bool)':
main.cpp:137: error: 'dialog' was not declared in this scope
main.cpp:137: error: 'dialog' was not declared in this scope
main.cpp: In member function 'void Player::open()':
main.cpp:142: error: 'dialog' was not declared in this scope
main.cpp:142: error: template argument 1 is invalid
main.cpp:142: error: invalid type in declaration before '(' token
main.cpp:142: error: request for member 'brk' in '_container_', which is of non-class type 'int'
main.cpp:142: error: request for member 'i' in '_container_', which is of non-class type 'int'
main.cpp:142: error: request for member 'e' in '_container_', which is of non-class type 'int'
main.cpp:142: error: request for member 'brk' in '_container_', which is of non-class type 'int'
main.cpp:142: error: request for member 'i' in '_container_', which is of non-class type 'int'
main.cpp:142: error: 'KUrl' was not declared in this scope
main.cpp:142: error: expected ';' before 'url'
main.cpp:142: error: request for member 'brk' in '_container_', which is of non-class type 'int'
main.cpp:142: error: 'url' was not declared in this scope
make: *** [build/main.o] Error 1
Thx! New trouble:
make
g++ -c -pipe -Wall -W -D_REENTRANT -DUSE_DIALOG -DUSE_VIDEO -DUSE_TAGLIB -DUSE_HOTKEY -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../../share/qt4/mkspecs/linux-g++ -I. -I../../../../include/qt4/QtCore -I../../../../include/qt4/QtGui -I../../../../include/qt4/QtOpenGL -I../../../../include/qt4 -I../../../../X11R6/include -Ibuild -o build/main.o main.cpp
In file included from main.h:20,
from main.cpp:2:
media.h:4: error: conflicting declaration 'typedef long int int64_t'
/usr/include/sys/types.h:198: error: 'int64_t' has a previous declaration as 'typedef long long int int64_t'
make: *** [build/main.o] Error 1
Sorry, I forgot to try to compile as 32bit.
http://gitorious.org/qt-media-player should now work.
If checking out a git snapshot is too inconvenient, I can package a new archive.
Thanks for testing and reporting bugs.
Ratings & Comments
8 Comments
"- high latency playback using alsa" Huh? Sorry, i want low latency audio (: Please fix description :P
It's not an error. You don't need low latency audio for music playback. But by using the maximum audio buffer size, Qt Media Player doesn't need to wake often (e.g only 3 time per second on my PC). This is especially useful to save power on embedded systems.
g++ -c -pipe -Wall -W -D_REENTRANT -DUSE_KDE -DUSE_VIDEO -DUSE_TAGLIB -DUSE_HOTKEY -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../../share/qt4/mkspecs/linux-g++ -I. -I../../../../include/qt4/QtCore -I../../../../include/qt4/QtGui -I../../../../include/qt4/QtOpenGL -I../../../../include/qt4 -I../../../../X11R6/include -Ibuild -o build/main.o main.cpp In file included from main.cpp:1: main.h:24:27: error: KDE/KFileDialog: No such file or directory In file included from main.h:19, from main.cpp:1: media.h:4: error: conflicting declaration 'typedef long int int64_t' /usr/include/sys/types.h:198: error: 'int64_t' has a previous declaration as 'typedef long long int int64_t' In file included from main.cpp:1: main.h:89: error: ISO C++ forbids declaration of 'KFileDialog' with no type main.h:89: error: expected ';' before '*' token main.cpp: In constructor 'Player::Player()': main.cpp:105: error: 'dialog' was not declared in this scope main.cpp:105: error: expected type-specifier before 'KFileDialog' main.cpp:105: error: expected ';' before 'KFileDialog' main.cpp:106: error: 'KFile' has not been declared main.cpp:106: error: 'KFile' has not been declared main.cpp: In member function 'void Player::toggleOpen(bool)': main.cpp:137: error: 'dialog' was not declared in this scope main.cpp:137: error: 'dialog' was not declared in this scope main.cpp: In member function 'void Player::open()': main.cpp:142: error: 'dialog' was not declared in this scope main.cpp:142: error: template argument 1 is invalid main.cpp:142: error: invalid type in declaration before '(' token main.cpp:142: error: request for member 'brk' in '_container_', which is of non-class type 'int' main.cpp:142: error: request for member 'i' in '_container_', which is of non-class type 'int' main.cpp:142: error: request for member 'e' in '_container_', which is of non-class type 'int' main.cpp:142: error: request for member 'brk' in '_container_', which is of non-class type 'int' main.cpp:142: error: request for member 'i' in '_container_', which is of non-class type 'int' main.cpp:142: error: 'KUrl' was not declared in this scope main.cpp:142: error: expected ';' before 'url' main.cpp:142: error: request for member 'brk' in '_container_', which is of non-class type 'int' main.cpp:142: error: 'url' was not declared in this scope make: *** [build/main.o] Error 1
qmake tries to autodetect KDE using kde4-config. you can disable it by editing the .pro file. it is only used to have an improved file dialog
Thx! New trouble: make g++ -c -pipe -Wall -W -D_REENTRANT -DUSE_DIALOG -DUSE_VIDEO -DUSE_TAGLIB -DUSE_HOTKEY -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../../share/qt4/mkspecs/linux-g++ -I. -I../../../../include/qt4/QtCore -I../../../../include/qt4/QtGui -I../../../../include/qt4/QtOpenGL -I../../../../include/qt4 -I../../../../X11R6/include -Ibuild -o build/main.o main.cpp In file included from main.h:20, from main.cpp:2: media.h:4: error: conflicting declaration 'typedef long int int64_t' /usr/include/sys/types.h:198: error: 'int64_t' has a previous declaration as 'typedef long long int int64_t' make: *** [build/main.o] Error 1
Sorry, I forgot to try to compile as 32bit. http://gitorious.org/qt-media-player should now work. If checking out a git snapshot is too inconvenient, I can package a new archive. Thanks for testing and reporting bugs.
make: Entering directory `/usr/src/RPM/BUILD/qt-media-player' g++ -c -pipe -pipe -Wall -O2 -march=athlon -mtune=athlon-xp -Wall -W -D_REENTRANT -DUSE_DIALOG -DUSE_VIDEO -DUSE_HOTKEY -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../../share/qt4/mkspecs/linux-g++ -I. -I../../../../include/qt4/QtCore -I../../../../include/qt4/QtGui -I../../../../include/qt4/QtOpenGL -I../../../../include/qt4 -I../../../../X11R6/include -Ibuild -o build/main.o main.cpp g++ -c -pipe -pipe -Wall -O2 -march=athlon -mtune=athlon-xp -Wall -W -D_REENTRANT -DUSE_DIALOG -DUSE_VIDEO -DUSE_HOTKEY -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../../share/qt4/mkspecs/linux-g++ -I. -I../../../../include/qt4/QtCore -I../../../../include/qt4/QtGui -I../../../../include/qt4/QtOpenGL -I../../../../include/qt4 -I../../../../X11R6/include -Ibuild -o build/avfile.o avfile.cpp avfile.cpp: In member function 'void AVFile::open(QString)': avfile.cpp:68: error: 'CH_LAYOUT_NATIVE' was not declared in this scope make: *** [build/avfile.o] Error 1 make: *** Waiting for unfinished jobs.... make: Leaving directory `/usr/src/RPM/BUILD/qt-media-player' error: Bad exit status from /usr/src/tmp/rpm-tmp.42010 (%build) rpm -qa | grep avcodec libavcodec-devel-0.5-alt1.svn19530.1.drool libavcodec52-0.5-alt1.svn19530.1.drool
you can either use ffmpeg 0.6 or simply remove the line.