Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linux Centos 6.8 : no sound... #834

Closed
cgilles opened this issue Mar 2, 2017 · 21 comments
Closed

Linux Centos 6.8 : no sound... #834

cgilles opened this issue Mar 2, 2017 · 21 comments

Comments

@cgilles
Copy link
Contributor

cgilles commented Mar 2, 2017

For digiKam AppImage bundle build, we use CentoOS 6.8 for binary compatibilty reasons.

CentOS 6.8 run in A virtuabox and sound is enabled.

Building 1.11.0 or current git/master of QtAV player do not give sound output with any video files.

The ffmpeg version is this one :

ffmpeg version 2.6.8 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-16)
configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' --enable-bzlib --disable-crystalhd --enable-gnutls --enable-ladspa --enable-libass --enable-libdc1394 --enable-libfaac --enable-nonfree --disable-indev=jack --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-openal --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libx264 --enable-libx265 --enable-libxvid --enable-x11grab --enable-avfilter --enable-avresample --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-runtime-cpudetect
libavutil 54. 20.100 / 54. 20.100
libavcodec 56. 26.100 / 56. 26.100
libavformat 56. 25.101 / 56. 25.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 11.102 / 5. 11.102
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

The QtAV player console trace is this one :

[gilles@localhost bin]$ ./Player
"QtAV 1.11.0(Mar 2 2017, 12:22:37)\nMultimedia framework base on Qt and FFmpeg.\nDistributed under the terms of LGPLv2.1 or later.\nShanghai University->S3 Graphics->Deepin, Shanghai, ChinaCopyright (C) 2012-2016 Wang Bin (aka. Lucas Wang) wbsecg1@gmail.com\nDonate: http://qtav.org/donate.html\nSource: https://github.com/wang-bin/QtAV\nHome page: http://qtav.org"
QT_XCB_GL_INTEGRATION: "xcb_glx"
("./Player")
set log file: "/home/gilles/devel/QtAV/build/bin/log-Player.txt"
Debug: vo: gl
QtAV 1.11.0(Mar 2 2017, 12:22:37)
Multimedia framework base on Qt and FFmpeg.
Distributed under the terms of LGPLv2.1 or later.
Shanghai University->S3 Graphics->Deepin, Shanghai, ChinaCopyright (C) 2012-2016 Wang Bin (aka. Lucas Wang) wbsecg1@gmail.com
Donate: http://qtav.org/donate.html
Source: https://github.com/wang-bin/QtAV
Home page: http://qtav.org
extension resolved: glBindFramebufferEXTDebug: QHash(("analyzeduration", QVariant(int, 5000000))("probesize", QVariant(uint, 5000000)))
Debug: status changed "Loaded"
Debug: ScreenSaver::retrieveState
Debug: ScreenSaver::retrieveState timeout: 0, interval: 0, preferBlanking:1, allowExposures:1
Debug: ScreenSaver::enable 0, ret 1 timeout origin: 0
Debug: Succeed to enable screen saver (0)
Debug: track found!!!!!
Debug: status changed "Buffering..."
Debug: status changed "Buffered"
Debug: "[ShaderManager] cache a new shader material type(12): gl material 16to8bit: 0, planar: 0, has alpha: 1, 2d texture: 1, 2nd plane rg: 0, xyz: 0"
Debug: creating VBO...
Debug: creating VAO...
Debug: VAO create error
Debug: vao updated
Debug: >>>>>>>>>>>>>>disable slider
Debug: ScreenSaver::enable 1, ret 1 timeout origin: 0
Debug: Succeed to enable screen saver (1)
Debug: status changed ""
Debug: >>>>>>>>>>>>>>disable slider
Debug: ScreenSaver::enable 1, ret 1 timeout origin: 0
Warning: QObject::killTimer(): Error: timer id 5 is not valid for object 0x6897c0 (ScreenSaver, ), timer has not been killed
Debug: Succeed to enable screen saver (1)
Warning: QObject::killTimer(): Error: timer id 6 is not valid for object 0x7ffce6e2c570 (MainWindow, ), timer has not been killed
Debug: QHash(("analyzeduration", QVariant(int, 5000000))("probesize", QVariant(uint, 5000000)))
Debug: status changed "Loaded"
Debug: ScreenSaver::enable 0, ret 1 timeout origin: 0
Debug: Succeed to enable screen saver (0)
Debug: status changed "Buffering..."
Debug: status changed "Buffered"
Debug: isPaused = 0
Debug: start pausing...
Debug: isPaused = 1
Debug: stop pausing...
Debug: isPaused = 0
Debug: start pausing...
Debug: isPaused = 1
Debug: stop pausing...
Debug: isPaused = 0
Debug: start pausing...
Debug: >>>>>>>>>>>>>>disable slider
Debug: ScreenSaver::enable 1, ret 1 timeout origin: 0
Warning: QObject::killTimer(): Error: timer id 5 is not valid for object 0x6897c0 (ScreenSaver, ), timer has not been killed
Debug: Succeed to enable screen saver (1)
Debug: status changed "Loaded"
Debug: ScreenSaver::enable 0, ret 1 timeout origin: 0
Debug: Succeed to enable screen saver (0)
Debug: status changed "Buffering..."
Debug: status changed "Buffered"
Debug: isPaused = 0
Debug: start pausing...

This problem have been reported in digiKam bugzilla through this report :

https://bugs.kde.org/show_bug.cgi?id=376952

Gilles Caulier

@wang-bin
Copy link
Owner

wang-bin commented Mar 3, 2017

You have to build with openal or pulseaudio. They should be printed in the log

@wang-bin
Copy link
Owner

wang-bin commented Mar 3, 2017

For windows, you have to provide OpenAL32.dll

@cgilles
Copy link
Contributor Author

cgilles commented Mar 5, 2017

Under CentOS 6.8, both PulseAudio and OpenAL are present, at least has with no devel packages.

Which one must be used to be compatible everywhere under Linux box ? I can install one of this as devel package, which is not yet installed. Do i need both at the same time ?

Note : i don't know yet which library is detected by QtAV, but i'm sure that none is detected, has no devel package is installed.

@wang-bin
Copy link
Owner

wang-bin commented Mar 6, 2017

openal is enough

@cgilles
Copy link
Contributor Author

cgilles commented Mar 6, 2017

Ok, OpenAL add under MXE and AppImage. Building bundle under process to verify.

Anything special under MacOS is required for a possible same issue ?

Gilles Caulier

@cgilles
Copy link
Contributor Author

cgilles commented Mar 6, 2017

Q: OpenAL is considerate as a runtime dependency ? Under Windows, QtAV is not directly linked with it. So i suspect that OpenAL is tried to be loaded as DLL at run time. Right ? If yes, and if DLL is no present, there is no sound while playing video. Right ?

This is also the case with Linux, as OpenAL SO library is loaded at runtime as plugin ?

Gilles Caulier

@wang-bin
Copy link
Owner

wang-bin commented Mar 6, 2017

Right. In fact only openal headers are required for all platforms because it's dynamically loaded by default. On mac if you use openal(default is audiotoolbox), QtAV tries to load openal-soft then system openal.

To link against openal, add qmake option "CONFIG += config_openal_link"

@cgilles
Copy link
Contributor Author

cgilles commented Mar 8, 2017

Installing OpenAL header from CentOS 6.8 and recompiling QtAV do not solve this issue.

This is the console trace when i play a video file with a soundtrack (.avi)

[gilles@localhost bin]$ ./Player
VideoDecoder::Register(..., CUDA)
Singleton 0x176fb20 created...
VideoRenderer::Register(..., OpenGLWindow)
Singleton 0x1770550 created...
SubtitleProcessor::Register(..., FFmpeg)
Singleton 0x17707f0 created...
AudioDecoder::Register(..., FFmpeg)
Singleton 0x1770f70 created...
AudioEncoder::Register(..., FFmpeg)
Singleton 0x1771040 created...
ImageConverter::Register(..., FFmpeg)
Singleton 0x1771150 created...
MediaIO::Register(..., QIODevice)
Singleton 0x1770ea0 created...
MediaIO::Register(..., QFile)
AudioOutputBackend::Register(..., null)
Singleton 0x17717e0 created...
VideoDecoder::Register(..., FFmpeg)
VideoEncoder::Register(..., FFmpeg)
Singleton 0x1771990 created...
registerRenderers...........
VideoRenderer::Register(..., OpenGLWidget)
VideoRenderer::Register(..., QGLWidget2)
VideoRenderer::Register(..., Widget)
VideoRenderer::Register(..., GraphicsItem)
"QtAV 1.11.0(Mar 6 2017, 00:34:18)\nMultimedia framework base on Qt and FFmpeg.\nDistributed under the terms of LGPLv2.1 or later.\nShanghai University->S3 Graphics->Deepin, Shanghai, ChinaCopyright (C) 2012-2016 Wang Bin (aka. Lucas Wang) wbsecg1@gmail.com\nDonate: http://qtav.org/donate.html\nSource: https://github.com/wang-bin/QtAV\nHome page: http://qtav.org"
QT_XCB_GL_INTEGRATION: "xcb_glx"
("./Player")
executable dir is not writable. log to "/home/gilles/.local/share/Player/log-Player.txt"
set log file: "/home/gilles/.local/share/Player/log-Player.txt"
Logger
Debug: vo: gl
SubtitleProcessor::id("LibASS")
Not found
Unknown id SubtitleProcessor::id("FFmpeg")
SubtitleProcessor::id("FFmpeg")
VideoDecoder::id("FFmpeg")
VideoDecoder::id("FFmpeg")
VideoDecoder::id("FFmpeg")
Debug: QHash(("analyzeduration", QVariant(int, 5000000))("probesize", QVariant(uint, 5000000)))
Debug: status changed "Loaded"
AudioDecoder::id("FFmpeg")
Singleton 0x1bb06e0 created...
Unknown id Unknown id Debug: ScreenSaver::retrieveState
Debug: ScreenSaver::retrieveState timeout: 600, interval: 600, preferBlanking:1, allowExposures:1
Debug: ScreenSaver::enable 0, ret 1 timeout origin: 600
Debug: Succeed to enable screen saver (0)
Debug: track found!!!!!
Debug: status changed "Buffering..."
Debug: status changed "Buffered"
Debug: "[ShaderManager] cache a new shader material type(10): gl material 16to8bit: 0, planar: 1, has alpha: 0, 2d texture: 1, 2nd plane rg: 0"
Debug: updating vao...
Debug: VAO is not supported
Debug: updating vbo...
Warning: QObject::moveToThread: Cannot move objects with a parent
VideoRenderer::id("Widget")
VideoDecoder::id("FFmpeg")
Debug: updating vbo...
Debug: updating vbo...
Warning: QObject::killTimer: Timers cannot be stopped from another thread
VideoDecoder::id("FFmpeg")
Debug: >>>>>>>>>>>>>>disable slider
Debug: ScreenSaver::enable 1, ret 1 timeout origin: 600
Debug: Succeed to enable screen saver (1)
Debug: status changed ""
VideoDecoder::id("FFmpeg")
Debug: >>>>>>>>>>>>>>disable slider
Debug: ScreenSaver::enable 1, ret 1 timeout origin: 600
Warning: QObject::killTimer(): Error: timer id 3 is not valid for object 0x689740 (ScreenSaver, ), timer has not been killed
Debug: Succeed to enable screen saver (1)
Warning: QObject::killTimer(): Error: timer id 7 is not valid for object 0x7ffc654e6540 (MainWindow, ), timer has not been killed
Debug: sync config to "/home/gilles/.local/share/Player/Player.ini"
Debug: sync end

This is the report from ffmpeg under CentOS to identify the contents of this video file 👍

[gilles@localhost Pictures]$ ffmpeg -i MVI_0476.AVI
ffmpeg version 2.6.8 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-16)
configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' --enable-bzlib --disable-crystalhd --enable-gnutls --enable-ladspa --enable-libass --enable-libdc1394 --enable-libfaac --enable-nonfree --disable-indev=jack --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-openal --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libx264 --enable-libx265 --enable-libxvid --enable-x11grab --enable-avfilter --enable-avresample --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-runtime-cpudetect
libavutil 54. 20.100 / 54. 20.100
libavcodec 56. 26.100 / 56. 26.100
libavformat 56. 25.101 / 56. 25.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 11.102 / 5. 11.102
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100
[mjpeg @ 0x11c5640] Changeing bps to 8
Guessed Channel Layout for Input Stream #0.1 : mono
Input #0, avi, from 'MVI_0476.AVI':
Metadata:
creation_time : 2010-08-28 04:37:54
encoder : CanonMVI06
Duration: 00:00:21.40, start: 0.000000, bitrate: 14967 kb/s
Stream #0:0: Video: mjpeg (MJPG / 0x47504A4D), yuvj422p(pc, bt470bg/unknown/unknown), 640x480, 14898 kb/s, 30 fps, 30 tbr, 30 tbn, 30 tbc
Stream #0:1: Audio: pcm_u8 ([1][0][0][0] / 0x0001), 11024 Hz, 1 channels, u8, 88 kb/s

Where is the problem exactly ?

Note : this is the trace of QtAV compilation when i build The digiKam AppImage :

[ 50%] Creating directories for 'ext_qtav'
[ 50%] Performing download step (git clone) for 'ext_qtav'
Initialized empty Git repository in /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/.git/
Note: checking out 'v1.11.0'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

git checkout -b new_branch_name

HEAD is now at 3b418cb... version 1.11.0
Submodule 'contrib/capi' (https://github.com/wang-bin/capi.git) registered for path 'contrib/capi'
Submodule 'contrib/uchardet' (https://github.com/BYVoid/uchardet.git) registered for path 'contrib/uchardet'
Submodule 'tools/build_ffmpeg' (https://github.com/wang-bin/build_ffmpeg.git) registered for path 'tools/build_ffmpeg'
Initialized empty Git repository in /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/contrib/capi/.git/
Submodule path 'contrib/capi': checked out '6a5f3006533b79aa57a3a54cf9df4442a356dd48'
Initialized empty Git repository in /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/contrib/uchardet/.git/
Submodule path 'contrib/uchardet': checked out '016eb18437793fbdd31149e1fe9fd73df3430d0f'
Initialized empty Git repository in /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/tools/build_ffmpeg/.git/
Submodule path 'tools/build_ffmpeg': checked out '428c16dc2edd575e8bdb838683a9b75f68eefe5a'
[ 50%] Performing patch step for 'ext_qtav'
[ 50%] No update step for 'ext_qtav'
patching file src/QtAV/AVClock.h
patching file src/QtAV/AVDemuxer.h
patching file src/QtAV/AVPlayer.h
patching file src/QtAV/Filter.h
patching file src/QtAV/OpenGLVideo.h
patching file src/QtAV/Subtitle.h
patching file src/QtAV/SubtitleFilter.h
patching file src/QtAV/VideoCapture.h
patching file .qmake.conf
patching file QtAV.pro
[100%] Performing configure step for 'ext_qtav'
Info: creating stash file /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/.qmake.stash
Project MESSAGE: BUILD_DIR=/b/ext_qtav/ext_qtav-prefix/src/ext_qtav
Project MESSAGE: MAKEFILE_GENERATOR=UNIX
Info: creating cache file /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/.qmake.cache
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/root.pri:95: Missing closing ' quote
Project MESSAGE: target arch:
Project MESSAGE: target arch features:
Project MESSAGE: To disable config tests, you can use 1 of the following methods
Project MESSAGE: 1. create '.qmake.conf' in the root source dir, add 'CONFIG += no_config_tests'(Qt5)
Project MESSAGE: 2. pass 'CONFIG += no_config_tests' or '-config no_config_tests' to qmake
Project MESSAGE: 3. add 'CONFIG += no_config_tests' in /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/user.conf
Project MESSAGE: To manually set a config test result to true, disable config tests and enable config_name like above
[100%] Performing build step for 'ext_qtav'
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/lib_linux_/QtAV
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/lib_linux_/QtAV
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/lib_linux_/install_sdk
Project MESSAGE: creating script for module QtAV ...
Project MESSAGE: run /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/sdk_install.sh to install QtAV as a Qt module
Project MESSAGE: creating script for module QtAVWidgets ...
Project MESSAGE: run /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/sdk_install.sh to install QtAVWidgets as a Qt module
In file included from ../contrib/uchardet/src/nsEUCTWProber.h:43:0,
from ../contrib/uchardet/src/nsEUCTWProber.cpp:38:
../contrib/uchardet/src/CharDistribution.h:53:31: warning: unused parameter ‘aBuf’ [-Wunused-parameter]
void HandleData(const char* aBuf, PRUint32 aLen) {}
^
../contrib/uchardet/src/CharDistribution.h:53:46: warning: unused parameter ‘aLen’ [-Wunused-parameter]
void HandleData(const char* aBuf, PRUint32 aLen) {}
^
../contrib/uchardet/src/CharDistribution.h:99:40: warning: unused parameter ‘str’ [-Wunused-parameter]
virtual PRInt32 GetOrder(const char* str) {return -1;}
^
In file included from ../contrib/uchardet/src/CharDistribution.cpp:38:0:
../contrib/uchardet/src/CharDistribution.h:53:31: warning: unused parameter ‘aBuf’ [-Wunused-parameter]
void HandleData(const char* aBuf, PRUint32 aLen) {}
^
../contrib/uchardet/src/CharDistribution.h:53:46: warning: unused parameter ‘aLen’ [-Wunused-parameter]
void HandleData(const char* aBuf, PRUint32 aLen) {}
^
../contrib/uchardet/src/CharDistribution.h:99:40: warning: unused parameter ‘str’ [-Wunused-parameter]
virtual PRInt32 GetOrder(const char* str) {return -1;}
^
In file included from ../contrib/uchardet/src/nsBig5Prober.h:43:0,
from ../contrib/uchardet/src/nsBig5Prober.cpp:38:
../contrib/uchardet/src/CharDistribution.h:53:31: warning: unused parameter ‘aBuf’ [-Wunused-parameter]
void HandleData(const char* aBuf, PRUint32 aLen) {}
^
../contrib/uchardet/src/CharDistribution.h:53:46: warning: unused parameter ‘aLen’ [-Wunused-parameter]
void HandleData(const char* aBuf, PRUint32 aLen) {}
^
../contrib/uchardet/src/CharDistribution.h:99:40: warning: unused parameter ‘str’ [-Wunused-parameter]
virtual PRInt32 GetOrder(const char* str) {return -1;}
^
In file included from ../contrib/uchardet/src/nsGB2312Prober.h:43:0,
from ../contrib/uchardet/src/nsGB2312Prober.cpp:43:
../contrib/uchardet/src/CharDistribution.h:53:31: warning: unused parameter ‘aBuf’ [-Wunused-parameter]
void HandleData(const char* aBuf, PRUint32 aLen) {}
^
../contrib/uchardet/src/CharDistribution.h:53:46: warning: unused parameter ‘aLen’ [-Wunused-parameter]
void HandleData(const char* aBuf, PRUint32 aLen) {}
^
../contrib/uchardet/src/CharDistribution.h:99:40: warning: unused parameter ‘str’ [-Wunused-parameter]
virtual PRInt32 GetOrder(const char* str) {return -1;}
^
In file included from ../contrib/uchardet/src/nsEUCKRProber.h:43:0,
from ../contrib/uchardet/src/nsEUCKRProber.cpp:38:
../contrib/uchardet/src/CharDistribution.h:53:31: warning: unused parameter ‘aBuf’ [-Wunused-parameter]
void HandleData(const char* aBuf, PRUint32 aLen) {}
^
../contrib/uchardet/src/CharDistribution.h:53:46: warning: unused parameter ‘aLen’ [-Wunused-parameter]
void HandleData(const char* aBuf, PRUint32 aLen) {}
^
../contrib/uchardet/src/CharDistribution.h:99:40: warning: unused parameter ‘str’ [-Wunused-parameter]
virtual PRInt32 GetOrder(const char* str) {return -1;}
^
In file included from ../contrib/uchardet/src/nsEUCJPProber.h:49:0,
from ../contrib/uchardet/src/nsEUCJPProber.cpp:43:
../contrib/uchardet/src/CharDistribution.h:53:31: warning: unused parameter ‘aBuf’ [-Wunused-parameter]
void HandleData(const char* aBuf, PRUint32 aLen) {}
^
../contrib/uchardet/src/CharDistribution.h:53:46: warning: unused parameter ‘aLen’ [-Wunused-parameter]
void HandleData(const char* aBuf, PRUint32 aLen) {}
^
../contrib/uchardet/src/CharDistribution.h:99:40: warning: unused parameter ‘str’ [-Wunused-parameter]
virtual PRInt32 GetOrder(const char* str) {return -1;}
^
In file included from ../contrib/uchardet/src/nsSJISProber.h:49:0,
from ../contrib/uchardet/src/nsSJISProber.cpp:43:
../contrib/uchardet/src/CharDistribution.h:53:31: warning: unused parameter ‘aBuf’ [-Wunused-parameter]
void HandleData(const char* aBuf, PRUint32 aLen) {}
^
../contrib/uchardet/src/CharDistribution.h:53:46: warning: unused parameter ‘aLen’ [-Wunused-parameter]
void HandleData(const char* aBuf, PRUint32 aLen) {}
^
../contrib/uchardet/src/CharDistribution.h:99:40: warning: unused parameter ‘str’ [-Wunused-parameter]
virtual PRInt32 GetOrder(const char* str) {return -1;}
^
In file included from ../contrib/uchardet/src/nsSJISProber.h:49:0,
from ../contrib/uchardet/src/nsMBCSGroupProber.h:42,
from ../contrib/uchardet/src/nsUniversalDetector.cpp:43:
../contrib/uchardet/src/CharDistribution.h:53:31: warning: unused parameter ‘aBuf’ [-Wunused-parameter]
void HandleData(const char* aBuf, PRUint32 aLen) {}
^
../contrib/uchardet/src/CharDistribution.h:53:46: warning: unused parameter ‘aLen’ [-Wunused-parameter]
void HandleData(const char* aBuf, PRUint32 aLen) {}
^
../contrib/uchardet/src/CharDistribution.h:99:40: warning: unused parameter ‘str’ [-Wunused-parameter]
virtual PRInt32 GetOrder(const char* str) {return -1;}
^
In file included from ../contrib/uchardet/src/nsSJISProber.h:49:0,
from ../contrib/uchardet/src/nsMBCSGroupProber.h:42,
from ../contrib/uchardet/src/nsMBCSGroupProber.cpp:41:
../contrib/uchardet/src/CharDistribution.h:53:31: warning: unused parameter ‘aBuf’ [-Wunused-parameter]
void HandleData(const char* aBuf, PRUint32 aLen) {}
^
../contrib/uchardet/src/CharDistribution.h:53:46: warning: unused parameter ‘aLen’ [-Wunused-parameter]
void HandleData(const char* aBuf, PRUint32 aLen) {}
^
../contrib/uchardet/src/CharDistribution.h:99:40: warning: unused parameter ‘str’ [-Wunused-parameter]
virtual PRInt32 GetOrder(const char* str) {return -1;}
^
../contrib/uchardet/src/JpCntx.cpp: In member function ‘virtual PRInt32 SJISContextAnalysis::GetOrder(const char*, PRUint32*)’:
../contrib/uchardet/src/JpCntx.cpp:198:50: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
if ((unsigned char)str >= (unsigned char)0x81 && (unsigned char)str <= (unsigned char)0x9f ||
^
../contrib/uchardet/src/JpCntx.cpp: In member function ‘virtual PRInt32 EUCJPContextAnalysis::GetOrder(const char
, PRUint32
)’:
../contrib/uchardet/src/JpCntx.cpp:216:50: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
(unsigned char)*str >= (unsigned char)0xa1 &&
^
opengl/OpenGLHelper.cpp:210:39: warning: unused parameter ‘exts’ [-Wunused-parameter]
bool hasExtensionEGL(const char *exts[])
^
filter/LibAVFilter.cpp:110:31: warning: unused parameter ‘args’ [-Wunused-parameter]
bool setup(const QString& args, bool video) {
^
filter/LibAVFilter.cpp:110:42: warning: unused parameter ‘video’ [-Wunused-parameter]
bool setup(const QString& args, bool video) {
^
filter/LibAVFilter.cpp:276:48: warning: unused parameter ‘type’ [-Wunused-parameter]
QStringList LibAVFilter::registeredFilters(int type)
^
filter/LibAVFilter.cpp:465:62: warning: unused parameter ‘changed’ [-Wunused-parameter]
bool LibAVFilter::Private::pushVideoFrame(Frame *frame, bool changed, const QString &args)
^
filter/LibAVFilter.cpp:465:86: warning: unused parameter ‘args’ [-Wunused-parameter]
bool LibAVFilter::Private::pushVideoFrame(Frame *frame, bool changed, const QString &args)
^
filter/LibAVFilter.cpp:503:62: warning: unused parameter ‘changed’ [-Wunused-parameter]
bool LibAVFilter::Private::pushAudioFrame(Frame frame, bool changed, const QString &args)
^
filter/LibAVFilter.cpp:503:86: warning: unused parameter ‘args’ [-Wunused-parameter]
bool LibAVFilter::Private::pushAudioFrame(Frame frame, bool changed, const QString &args)
^
AVPlayerPrivate.cpp: In member function ‘void QtAV::AVPlayer::Private::initCommonStatistics(int, QtAV::Statistics::Common
, AVCodecContext
)’:
AVPlayerPrivate.cpp:224:177: warning: format ‘%lld’ expects argument of type ‘long long int’, but argument 4 has type ‘int64_t {aka long int}’ [-Wformat=]
qDebug("stream: %d, duration=%lld (%lld ms), time_base=%f", s, stream->duration, qint64(qreal(stream->duration)*av_q2d(stream->time_base)*1000.0), av_q2d(stream->time_base));
^
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/lib_linux_/QtAVWidgets
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/lib_linux_/QmlAV
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/lib_linux_/QmlAV
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/lib_linux_/QtAVWidgets
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/lib_linux_/QmlAV
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/lib_linux_/QtAVWidgets
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/ao
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/ao
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/decoder
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/decoder
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/subtitle
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/subtitle
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/lib_linux_/common
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/lib_linux_/common
theme/theme.qrc: Warning: potential duplicate alias detected: 'fullscreen.svg'
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/transcode
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/transcode
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/extract
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/extract
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/extract
common.cpp: In function ‘void Logger(QtMsgType, const QMessageLogContext&, const QString&)’:
common.cpp:105:13: warning: enumeration value ‘QtInfoMsg’ not handled in switch [-Wswitch]
switch (type) {
^
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/audiopipeline
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/audiopipeline
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/sharedoutput
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/sharedoutput
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/sharedoutput
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/qiodevice
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/qiodevice
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/qiodevice
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/simpletranscode
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/simpletranscode
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/simpletranscode
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/qrc
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/qrc
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/qrc
Project WARNING: put test.mp4 in this directory!
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/simpleplayer
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/simpleplayer
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/simpleplayer
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/filters
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/filters
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/filters
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/playerthread
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/playerthread
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/playerthread
theme/theme.qrc: Warning: potential duplicate alias detected: 'fullscreen.svg'
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/framereader
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/framereader
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/videocapture
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/videocapture
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/videocapture
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/videographicsitem
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/videographicsitem
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/videographicsitem
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/videogroup
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/videogroup
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/videogroup
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/videowall
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/videowall
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/videowall
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/shader
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/shader
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/glslfilter
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/glslfilter
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/window
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/window
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/QMLPlayer
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/QMLPlayer
WARNING: icon.path is not defined: install target not created

Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/Player
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/Player
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/Player
Project MESSAGE: target: /b/ext_qtav/ext_qtav-prefix/src/ext_qtav/bin/Player
main.cpp: In function ‘int main(int, char**)’:
main.cpp:100:85: warning: converting ‘false’ to pointer type for argument 2 of ‘void QQmlContext::setContextProperty(const QString&, QObject*)’ [-Wconversion-null]
engine->rootContext()->setContextProperty(QStringLiteral("isTouchScreen"), false);
^
[100%] Performing install step for 'ext_qtav'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV' -> /usr/include/QtAV'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/FilterContext.h' -> /usr/include/QtAV/FilterContext.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/AVMuxer.h' -> /usr/include/QtAV/AVMuxer.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/QtAV' -> /usr/include/QtAV/QtAV'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/QtAV.h' -> /usr/include/QtAV/QtAV.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/FrameReader.h' -> /usr/include/QtAV/FrameReader.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/AVPlayer.h' -> /usr/include/QtAV/AVPlayer.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/AudioFormat.h' -> /usr/include/QtAV/AudioFormat.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/VideoEncoder.h' -> /usr/include/QtAV/VideoEncoder.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/FactoryDefine.h' -> /usr/include/QtAV/FactoryDefine.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/Statistics.h' -> /usr/include/QtAV/Statistics.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/private' -> /usr/include/QtAV/private'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/private/AudioResampler_p.h' -> /usr/include/QtAV/private/AudioResampler_p.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/private/PlayerSubtitle.h' -> /usr/include/QtAV/private/PlayerSubtitle.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/private/AVCompat.h' -> /usr/include/QtAV/private/AVCompat.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/private/MediaIO_p.h' -> /usr/include/QtAV/private/MediaIO_p.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/private/Filter_p.h' -> /usr/include/QtAV/private/Filter_p.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/private/SubtitleProcessor.h' -> /usr/include/QtAV/private/SubtitleProcessor.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/private/AVDecoder_p.h' -> /usr/include/QtAV/private/AVDecoder_p.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/private/Frame_p.h' -> /usr/include/QtAV/private/Frame_p.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/private/factory.h' -> /usr/include/QtAV/private/factory.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/private/prepost.h' -> /usr/include/QtAV/private/prepost.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/private/singleton.h' -> /usr/include/QtAV/private/singleton.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/private/QPainterRenderer_p.h' -> /usr/include/QtAV/private/QPainterRenderer_p.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/private/AVEncoder_p.h' -> /usr/include/QtAV/private/AVEncoder_p.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/private/OpenGLRendererBase_p.h' -> /usr/include/QtAV/private/OpenGLRendererBase_p.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/private/mkid.h' -> /usr/include/QtAV/private/mkid.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/private/VideoShader_p.h' -> /usr/include/QtAV/private/VideoShader_p.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/private/VideoRenderer_p.h' -> /usr/include/QtAV/private/VideoRenderer_p.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/private/AVOutput_p.h' -> /usr/include/QtAV/private/AVOutput_p.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/private/AudioOutputBackend.h' -> /usr/include/QtAV/private/AudioOutputBackend.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/AVError.h' -> /usr/include/QtAV/AVError.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/VideoShader.h' -> /usr/include/QtAV/VideoShader.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/LibAVFilter.h' -> /usr/include/QtAV/LibAVFilter.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/AudioDecoder.h' -> /usr/include/QtAV/AudioDecoder.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/VideoCapture.h' -> /usr/include/QtAV/VideoCapture.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/AudioOutput.h' -> /usr/include/QtAV/AudioOutput.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/AVDemuxer.h' -> /usr/include/QtAV/AVDemuxer.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/VideoDecoder.h' -> /usr/include/QtAV/VideoDecoder.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/EncodeFilter.h' -> /usr/include/QtAV/EncodeFilter.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/AudioResampler.h' -> /usr/include/QtAV/AudioResampler.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/SubImage.h' -> /usr/include/QtAV/SubImage.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/VideoOutput.h' -> /usr/include/QtAV/VideoOutput.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/VideoRenderer.h' -> /usr/include/QtAV/VideoRenderer.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/Frame.h' -> /usr/include/QtAV/Frame.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/AVTranscoder.h' -> /usr/include/QtAV/AVTranscoder.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/AVOutput.h' -> /usr/include/QtAV/AVOutput.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/Filter.h' -> /usr/include/QtAV/Filter.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/dptr.h' -> /usr/include/QtAV/dptr.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/AVDecoder.h' -> /usr/include/QtAV/AVDecoder.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/GLSLFilter.h' -> /usr/include/QtAV/GLSLFilter.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/OpenGLTypes.h' -> /usr/include/QtAV/OpenGLTypes.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/Subtitle.h' -> /usr/include/QtAV/Subtitle.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/SubtitleFilter.h' -> /usr/include/QtAV/SubtitleFilter.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/VideoFrameExtractor.h' -> /usr/include/QtAV/VideoFrameExtractor.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/VideoFrame.h' -> /usr/include/QtAV/VideoFrame.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/AudioFrame.h' -> /usr/include/QtAV/AudioFrame.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/VideoShaderObject.h' -> /usr/include/QtAV/VideoShaderObject.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/AVEncoder.h' -> /usr/include/QtAV/AVEncoder.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/VideoFormat.h' -> /usr/include/QtAV/VideoFormat.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/OpenGLRendererBase.h' -> /usr/include/QtAV/OpenGLRendererBase.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/Packet.h' -> /usr/include/QtAV/Packet.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/version.h' -> /usr/include/QtAV/version.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/QtAV_Global.h' -> /usr/include/QtAV/QtAV_Global.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/OpenGLWindowRenderer.h' -> /usr/include/QtAV/OpenGLWindowRenderer.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/SurfaceInterop.h' -> /usr/include/QtAV/SurfaceInterop.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/AVClock.h' -> /usr/include/QtAV/AVClock.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/MediaIO.h' -> /usr/include/QtAV/MediaIO.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/OpenGLVideo.h' -> /usr/include/QtAV/OpenGLVideo.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/AudioEncoder.h' -> /usr/include/QtAV/AudioEncoder.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/QPainterRenderer.h' -> /usr/include/QtAV/QPainterRenderer.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/src/QtAV/ConvolutionShader.h' -> /usr/include/QtAV/ConvolutionShader.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/widgets/QtAVWidgets' -> /usr/include/QtAVWidgets'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/widgets/QtAVWidgets/WidgetRenderer.h' -> /usr/include/QtAVWidgets/WidgetRenderer.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/widgets/QtAVWidgets/GLWidgetRenderer.h' -> /usr/include/QtAVWidgets/GLWidgetRenderer.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/widgets/QtAVWidgets/GraphicsItemRenderer.h' -> /usr/include/QtAVWidgets/GraphicsItemRenderer.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/widgets/QtAVWidgets/QOpenGLWidget.h' -> /usr/include/QtAVWidgets/QOpenGLWidget.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/widgets/QtAVWidgets/VideoPreviewWidget.h' -> /usr/include/QtAVWidgets/VideoPreviewWidget.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/widgets/QtAVWidgets/QtAVWidgets' -> /usr/include/QtAVWidgets/QtAVWidgets'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/widgets/QtAVWidgets/OpenGLWidgetRenderer.h' -> /usr/include/QtAVWidgets/OpenGLWidgetRenderer.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/widgets/QtAVWidgets/GLWidgetRenderer2.h' -> /usr/include/QtAVWidgets/GLWidgetRenderer2.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/widgets/QtAVWidgets/global.h' -> /usr/include/QtAVWidgets/global.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/widgets/QtAVWidgets/version.h' -> /usr/include/QtAVWidgets/version.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/widgets/QtAVWidgets/QtAVWidgets.h' -> /usr/include/QtAVWidgets/QtAVWidgets.h'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/lib_linux_/libQtAV.so' -> /usr/lib/libQtAV.so'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/lib_linux_/libQtAV.so.1' -> /usr/lib/libQtAV.so.1'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/lib_linux_/libQtAV.so.1.11' -> /usr/lib/libQtAV.so.1.11'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/lib_linux_/libQtAV.so.1.11.0' -> /usr/lib/libQtAV.so.1.11.0'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/lib_linux_/libQtAVWidgets.so' -> /usr/lib/libQtAVWidgets.so'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/lib_linux_/libQtAVWidgets.so.1' -> /usr/lib/libQtAVWidgets.so.1'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/lib_linux_/libQtAVWidgets.so.1.11' -> /usr/lib/libQtAVWidgets.so.1.11'
/b/ext_qtav/ext_qtav-prefix/src/ext_qtav/lib_linux_/libQtAVWidgets.so.1.11.0' -> /usr/lib/libQtAVWidgets.so.1.11.0'
[100%] Completed 'ext_qtav'
[100%] Built target ext_qtav
Elaspsed time for script execution : 0 hours 2 minutes 52 seconds

I don't see any report about OpenAL here. There is a place in QtAV log where i can identify if OpenAL is detected properly ?

Gilles Caulier

@cgilles
Copy link
Contributor Author

cgilles commented Mar 8, 2017

Note as OpenAL runtime loading as plugin is enough typically, i don't forced to link to OpenAL at QtAV configuration time (for the moment).

@cgilles
Copy link
Contributor Author

cgilles commented Mar 8, 2017

Question : how the cmake port advance ? This can help me about this issue ? How is the currently C++ implentation stability ? When did you plan to release next stable version ?

@wang-bin
Copy link
Owner

wang-bin commented Mar 9, 2017

I guess openal header is not found by cmake. Could you check the code around https://github.com/wang-bin/QtAV/blob/master/src/CMakeLists.txt#L105

cmake port is almost done except qml module. stability should be good. Some new features are not finished so release is blocked.

@cgilles
Copy link
Contributor Author

cgilles commented Mar 9, 2017

I take a look to your CMake implementation... I'm confused : you try to to re-invent the wheel to find system based library (as ffmpeg for ex).

For base system libraries, Cmake provide a lot of FindXXXX.cmake scripts ready to use which will populated cmake variabled to use in your customized implementation, as include dir, linker flags, lib version, etc...

This is not the case for ffmpeg, so typicaly in qtav/cmake/modules/ you just need to have a FindFFmpeg.cmake to check you you the library for ffmpeg. And searching on google if something as already written this kind of script, i found that :

https://github.com/snikulov/cmake-modules/blob/master/FindFFmpeg.cmake

Looing in your cmake code, i see that you try to find yourself libraries header. You do it because you have some rules to build qtav with local version of libraries. This is not a problem but this kind of rules must be controlled through extra cmake options in your project. By default the system based libraries must be checked and used.

For ex, with your current implementation i see this at configuration time under CentOS 6.8 :

-- The C compiler identification is GNU 4.4.7
-- The CXX compiler identification is GNU 4.4.7
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Qt version: 5.7.0
-- Qt prefix: /usr
-- QtAV headers prefix: /usr/include
-- QtAV libs prefix: /usr/lib
-- QtAV bins prefix: /usr/bin
HAVE_AVFORMAT: HAVE_AVFORMAT-NOTFOUND
CMake Error at src/CMakeLists.txt:44 (message):
avformat is required

With this patch all work better :

[gilles@localhost QtAV]$ git diff
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 72d8d01..5c32f3d 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -13,7 +13,8 @@ include_directories(${QTDIR}/include) #TODO: remove. use external/include

get_filename_component(QTDIR "${QTDIR}" ABSOLUTE)

-list(APPEND EXTRA_INCLUDE ${CMAKE_SOURCE_DIR}/external/include)
+#list(APPEND EXTRA_INCLUDE ${CMAKE_SOURCE_DIR}/external/include)
+list(APPEND EXTRA_INCLUDE /usr/include/ffmpeg)
if(APPLE)
if(IOS)
#set_xcode_property(myioslib IPHONEOS_DEPLOYMENT_TARGET "8.0")

and configuration give :

-- Qt version: 5.7.0
-- Qt prefix: /usr
-- QtAV headers prefix: /usr/include
-- QtAV libs prefix: /usr/lib
-- QtAV bins prefix: /usr/bin
HAVE_AVFORMAT: /usr/include/ffmpeg/libavformat/avformat.h
HAVE_AVCODEC: /usr/include/ffmpeg/libavcodec/avcodec.h
HAVE_SWSCALE: /usr/include/ffmpeg/libswscale/swscale.h
HAVE_AVUTIL: /usr/include/ffmpeg/libavutil/avutil.h
HAVE_AVFILTER: /usr/include/ffmpeg/libavfilter/avfilter.h
HAVE_AVDEVICE: /usr/include/ffmpeg/libavdevice/avdevice.h
HAVE_AVRESAMPLE: /usr/include/ffmpeg/libavresample/avresample.h
HAVE_SWRESAMPLE: /usr/include/ffmpeg/libswresample/swresample.h
-- Looking for ass/ass.h
-- Looking for ass/ass.h - not found
-- Looking for include file AL/al.h
-- Looking for include file AL/al.h - found
-- Looking for alGetError in openal
-- Looking for alGetError in openal - found
-- Looking for Pa_Initialize in portaudio
-- Looking for Pa_Initialize in portaudio - not found
-- Looking for pa_threaded_mainloop_new in pulse
-- Looking for pa_threaded_mainloop_new in pulse - not found
-- Looking for slCreateEngine in OpenSLES
-- Looking for slCreateEngine in OpenSLES - not found
-- Looking for vaInitialize in va
-- Looking for vaInitialize in va - not found
-- Configuring done
-- Generating done
-- Build files have been written to: /home/gilles/devel/QtAV/build

Now i will compile and test if sound work under CentOS with git/master

Gilles Caulier

@cgilles
Copy link
Contributor Author

cgilles commented Mar 9, 2017

It's not better using git/master and cmake.

QtAV::Player do not play sound under CentoOS :
[gilles@localhost bin]$ ./Player
"QtAV 1.11.0(Mar 9 2017, 06:15:10)\nMultimedia framework base on Qt and FFmpeg.\nDistributed under the terms of LGPLv2.1 or later.\nShanghai University->S3 Graphics->Deepin, Shanghai, ChinaCopyright (C) 2012-2016 Wang Bin (aka. Lucas Wang) wbsecg1@gmail.com\nDonate: http://qtav.org/donate.html\nSource: https://github.com/wang-bin/QtAV\nHome page: http://qtav.org"
QT_XCB_GL_INTEGRATION: "xcb_glx"
("./Player")
set log file: "/home/gilles/devel/QtAV/build/bin/log-Player.txt"
Debug: vo: gl
QtAV 1.11.0(Mar 9 2017, 06:15:10)
Multimedia framework base on Qt and FFmpeg.
Distributed under the terms of LGPLv2.1 or later.
Shanghai University->S3 Graphics->Deepin, Shanghai, ChinaCopyright (C) 2012-2016 Wang Bin (aka. Lucas Wang) wbsecg1@gmail.com
Donate: http://qtav.org/donate.html
Source: https://github.com/wang-bin/QtAV
Home page: http://qtav.org
extension resolved: glBindFramebufferEXTDebug: QHash(("probesize", QVariant(uint, 5000000))("analyzeduration", QVariant(int, 5000000)))
Debug: status changed "Loaded"
Debug: ScreenSaver::retrieveState
Debug: ScreenSaver::retrieveState timeout: 0, interval: 0, preferBlanking:1, allowExposures:1
Debug: ScreenSaver::enable 0, ret 1 timeout origin: 0
Debug: Succeed to enable screen saver (0)
Debug: track found!!!!!
Debug: status changed "Buffering..."
Debug: status changed "Buffered"
Debug: "[ShaderManager] cache a new shader material type(10): gl material 16to8bit: 0, planar: 1, has alpha: 0, 2d texture: 1, 2nd plane rg: 0, xyz: 0"
Debug: input yuv limited range
Debug: creating VBO...
Debug: creating VAO...
Debug: VAO create error
Debug: vao updated

The video file identified with ffmpeg is this one :

[gilles@localhost Videos]$ ffmpeg -i SampleVideo_720x480_20mb.mp4
ffmpeg version 2.6.8 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-16)
configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' --enable-bzlib --disable-crystalhd --enable-gnutls --enable-ladspa --enable-libass --enable-libdc1394 --enable-libfaac --enable-nonfree --disable-indev=jack --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-openal --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libx264 --enable-libx265 --enable-libxvid --enable-x11grab --enable-avfilter --enable-avresample --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-runtime-cpudetect
libavutil 54. 20.100 / 54. 20.100
libavcodec 56. 26.100 / 56. 26.100
libavformat 56. 25.101 / 56. 25.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 11.102 / 5. 11.102
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'SampleVideo_720x480_20mb.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
creation_time : 1970-01-01 00:00:00
encoder : Lavf53.24.2
Duration: 00:02:07.32, start: 0.000000, bitrate: 1323 kb/s
Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 640x480 [SAR 1:1 DAR 4:3], 935 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
Metadata:
creation_time : 1970-01-01 00:00:00
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 5.1, fltp, 384 kb/s (default)
Metadata:
creation_time : 1970-01-01 00:00:00
handler_name : SoundHandler

So what's the next ?

Gilles Caulier

@wang-bin
Copy link
Owner

wang-bin commented Mar 9, 2017

Could you post the complete log? A lot of lines are missing

@wang-bin
Copy link
Owner

wang-bin commented Mar 9, 2017

I read FindFFmpeg.cmake, it requires pkgconfig, so I can't use that because vc build environment has no pkgconfig.
I don't use FindOpenAL because openal headers are enough.

You can add list(APPEND EXTRA_INCLUDE /usr/include/ffmpeg), but it's only for *nix.

Can you use qmake to build qtav and test the sound?

@cgilles
Copy link
Contributor Author

cgilles commented Mar 9, 2017

I configured QtAv from git/master with qmake :
[gilles@localhost build]$ qmake ..
Info: creating stash file /home/gilles/devel/QtAV/build/.qmake.stash
Project MESSAGE: BUILD_DIR=/home/gilles/devel/QtAV/build
Project MESSAGE: MAKEFILE_GENERATOR=UNIX
Info: creating cache file /home/gilles/devel/QtAV/build/.qmake.cache
Project MESSAGE: target arch: x86_64
Project MESSAGE: target arch features: mmx sse sse2
Project MESSAGE: To disable config tests, you can use 1 of the following methods
Project MESSAGE: 1. create '.qmake.conf' in the root source dir, add 'CONFIG += no_config_tests'(Qt5)
Project MESSAGE: 2. pass 'CONFIG += no_config_tests' or '-config no_config_tests' to qmake
Project MESSAGE: 3. add 'CONFIG += no_config_tests' in /home/gilles/devel/QtAV/user.conf
Project MESSAGE: To manually set a config test result to true, disable config tests and enable config_name like above
Checking for avutil... yes
Checking for avcodec... yes
Checking for avformat... yes
Checking for swscale... yes
Project MESSAGE: checking for optional features...
Checking for swresample... yes
Checking for avresample... yes
Checking for avfilter... yes
Checking for avdevice... yes
Checking for sse4_1... yes
Checking for openal... yes
Checking for libass... no
Checking for uchardet... no
Checking for pulseaudio... no
Checking for x11... yes
Checking for xv... no
Checking for vaapi... no
Checking for libcedarv... no
Project MESSAGE: To recheck the dependencies, delete '.qmake.cache' in the root of build dir, run qmake with argument 'CONFIG+=recheck' or '-config recheck'

After compilation, i run AtAV::Player with same video file... and !!! yes sound is here. So i must use git/master code to cretae digiKam Linux AppImage.

I will rebuild the AppImage this eveing and i will test it to verify...

After that i will look about the missing sound under Windows. Probably it's the same solution to apply.

@cgilles
Copy link
Contributor Author

cgilles commented Mar 9, 2017

Good new. I recompiled digiKam AppImage with QtAV from git/master, and video + sound are played very well... So first problem is solved.

Now the Windows stuff...

@cgilles
Copy link
Contributor Author

cgilles commented Mar 9, 2017

About Windows, qtav compiled under MXE (Linux cross compiler), we have this configuration trace :
Project MESSAGE: BUILD_DIR=/mnt/devel/GIT/5.x/project/bundles/mxe/temp.build/ext_qtav/ext_qtav-prefix/src/ext_qtav/build
Project MESSAGE: MAKEFILE_GENERATOR=MINGW
Info: creating cache file /mnt/devel/GIT/5.x/project/bundles/mxe/temp.build/ext_qtav/ext_qtav-prefix/src/ext_qtav/build/.qmake.cache
Project MESSAGE: target arch: x86
Project MESSAGE: target arch features:
Project MESSAGE: To disable config tests, you can use 1 of the following methods
Project MESSAGE: 1. create '.qmake.conf' in the root source dir, add 'CONFIG += no_config_tests'(Qt5)
Project MESSAGE: 2. pass 'CONFIG += no_config_tests' or '-config no_config_tests' to qmake
Project MESSAGE: 3. add 'CONFIG += no_config_tests' in /mnt/devel/GIT/5.x/project/bundles/mxe/temp.build/ext_qtav/ext_qtav-prefix/src/ext_qtav/user.conf
Project MESSAGE: To manually set a config test result to true, disable config tests and enable config_name like above
Checking for avutil... yes
Checking for avcodec... yes
Checking for avformat... yes
Checking for swscale... yes
Project MESSAGE: checking for optional features...
Checking for swresample... yes
Checking for avresample... yes
Checking for avfilter... yes
Checking for avdevice... yes
Checking for sse4_1... yes
Checking for openal... yes
Checking for libass... yes
Checking for uchardet... no
Checking for dx... no
Checking for xaudio2... yes
Checking for direct2d... yes
Checking for dxva... yes
Checking for d3d11va... no
Checking for dsound... yes
Checking for gdiplus... no
Project MESSAGE: To recheck the dependencies, delete '.qmake.cache' in the root of build dir, run qmake with argument 'CONFIG+=recheck' or '-config recheck'

OpenAL sound like detected fine. Right ?

Gilles Caulier

@wang-bin
Copy link
Owner

Yes, openal is detected by qmake. What about using git master code and build with cmake without your patches? I guess your patches removed some logs

@cgilles
Copy link
Contributor Author

cgilles commented Mar 10, 2017

Under CentOS using cmake 3.0.1, without the patch, ffmpeg libs are not detected.

I upgraded to cmake 3.7, and the problem diseapear :

-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /bin/cc
-- Check for working C compiler: /bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /bin/c++
-- Check for working CXX compiler: /bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Qt version: 5.6.2
-- Qt prefix: /usr/lib64/qt5
-- QtAV headers prefix: /usr/lib64/qt5/include
-- QtAV libs prefix: /usr/lib64
-- QtAV bins prefix: /usr/lib64/qt5/bin
HAVE_AVFORMAT: /usr/include/libavformat/avformat.h
HAVE_AVCODEC: /usr/include/libavcodec/avcodec.h
HAVE_SWSCALE: /usr/include/libswscale/swscale.h
HAVE_AVUTIL: /usr/include/libavutil/avutil.h
HAVE_AVFILTER: /usr/include/libavfilter/avfilter.h
HAVE_AVDEVICE: /usr/include/libavdevice/avdevice.h
HAVE_AVRESAMPLE: /usr/include/libavresample/avresample.h
HAVE_SWRESAMPLE: /usr/include/libswresample/swresample.h
-- Looking for ass/ass.h
-- Looking for ass/ass.h - found
-- Looking for ass_library_init in ass
-- Looking for ass_library_init in ass - found
-- Looking for include file AL/al.h
-- Looking for include file AL/al.h - found
-- Looking for alGetError in openal
-- Looking for alGetError in openal - found
-- Looking for Pa_Initialize in portaudio
-- Looking for Pa_Initialize in portaudio - not found
-- Looking for pa_threaded_mainloop_new in pulse
-- Looking for pa_threaded_mainloop_new in pulse - found
-- Looking for slCreateEngine in OpenSLES
-- Looking for slCreateEngine in OpenSLES - not found
-- Looking for vaInitialize in va
-- Looking for vaInitialize in va - found
-- Configuring done
-- Generating done
-- Build files have been written to: /mnt/data/QtAV/build

Gilles Caulier

@cgilles
Copy link
Contributor Author

cgilles commented Mar 10, 2017

The sound under Windows is solved as under Linux using code from git/master.

https://bugs.kde.org/show_bug.cgi?id=375651#c28

I can close this file now...

Gilles Caulier

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants