RE: hardware acceleration on allwinner A10/A20 with vdpau and OpenGLES (zero-copy) - matrzh - 2017-04-15
No, no cross compile . I compile on Debian (jessie).
The funny thing is: I added a '--verbose' to the ld-line in the makefile and I see all included libs when "collect2" is called. It's an enormous line with many libraries in there 2 or 3 times.
The order of the "cannot find -lxcb-xfixes" is exactly as in the command line that is printed.
However, it contains also lxcb without xfixes etc.
This does not seem to throw an error. libxcb.so.1 is in the exact same directory (and nowhere else on my system).
libxcb.so.1 is version 1, all the libxcb-xfixes.so.0 are of version 0. Could this yield conflicts? I tried to make a symbolic link and even a copy to libxcb-xfixes.so.1, but this did not work either.
--edit--
So stupid. For some reason the symbolic link libxcb-xfixes.so was missing in the library directory, it only had libxcb-xfixes.so.0 etc.... ![Confused Confused](https://forum.kodi.tv/images/smilies/confused.png)
libxcb.so existed, however.
Compile went through ![Cool Cool](https://forum.kodi.tv/images/smilies/cool.png)
I will let you know tomorrow, if it actually works ![Wink Wink](https://forum.kodi.tv/images/smilies/wink.png)
Is it correct that there still seems to be some X11 stuff in it?
RE: hardware acceleration on allwinner A10/A20 with vdpau and OpenGLES (zero-copy) - matrzh - 2017-04-16
It's working in principle! I keep getting segmentation faults, after some time, though. Could be because I am running squeezelite in parallel that is also using ALSA and sound cannot be allocated. Will fiddle around a little and think I will get there. Thanks for your help!
RE: hardware acceleration on allwinner A10/A20 with vdpau and OpenGLES (zero-copy) - mosterta - 2017-04-16
check that your user running kodi is part of group "audio", otherwise kodi lacks the rights to open /dev/snd
do you have a backtrace from the segfaults? can you run kodi in gdb and provide the backtraces?
RE: hardware acceleration on allwinner A10/A20 with vdpau and OpenGLES (zero-copy) - matrzh - 2017-04-16
I am running as root to test, I know I shouldn't ![Wink Wink](https://forum.kodi.tv/images/smilies/wink.png)
backtrace: Code: [Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
Core was generated by `/usr/local/lib/kodi/kodi.bin'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00000000 in ?? ()
Thread 34 (Thread 0xaf4ff3f0 (LWP 6168)):
#0 0xb68b866e in PyObject_GetIter () from /usr/lib/arm-linux-gnueabihf/libpython2.7.so.1.0
#1 0xb68cfb90 in PyEval_EvalFrameEx () from /usr/lib/arm-linux-gnueabihf/libpython2.7.so.1.0
#2 0xb69148ca in PyEval_EvalCodeEx () from /usr/lib/arm-linux-gnueabihf/libpython2.7.so.1.0
#3 0xb68d2f0c in PyEval_EvalFrameEx () from /usr/lib/arm-linux-gnueabihf/libpython2.7.so.1.0
#4 0xb68d2fc0 in PyEval_EvalFrameEx () from /usr/lib/arm-linux-gnueabihf/libpython2.7.so.1.0
#5 0xb68d2fc0 in PyEval_EvalFrameEx () from /usr/lib/arm-linux-gnueabihf/libpython2.7.so.1.0
#6 0xb68d2fc0 in PyEval_EvalFrameEx () from /usr/lib/arm-linux-gnueabihf/libpython2.7.so.1.0
#7 0xb68d2fc0 in PyEval_EvalFrameEx () from /usr/lib/arm-linux-gnueabihf/libpython2.7.so.1.0
#8 0xb68d2fc0 in PyEval_EvalFrameEx () from /usr/lib/arm-linux-gnueabihf/libpython2.7.so.1.0
#9 0xb68d2fc0 in PyEval_EvalFrameEx () from /usr/lib/arm-linux-gnueabihf/libpython2.7.so.1.0
#10 0xb69148ca in PyEval_EvalCodeEx () from /usr/lib/arm-linux-gnueabihf/libpython2.7.so.1.0
#11 0xb68d2f0c in PyEval_EvalFrameEx () from /usr/lib/arm-linux-gnueabihf/libpython2.7.so.1.0
#12 0xb69148ca in PyEval_EvalCodeEx () from /usr/lib/arm-linux-gnueabihf/libpython2.7.so.1.0
#13 0xb68d2f0c in PyEval_EvalFrameEx () from /usr/lib/arm-linux-gnueabihf/libpython2.7.so.1.0
#14 0xb69148ca in PyEval_EvalCodeEx () from /usr/lib/arm-linux-gnueabihf/libpython2.7.so.1.0
#15 0xb68d2f0c in PyEval_EvalFrameEx () from /usr/lib/arm-linux-gnueabihf/libpython2.7.so.1.0
#16 0xb69148ca in PyEval_EvalCodeEx () from /usr/lib/arm-linux-gnueabihf/libpython2.7.so.1.0
#17 0xb68ce6bc in PyEval_EvalCode () from /usr/lib/arm-linux-gnueabihf/libpython2.7.so.1.0
#18 0xb68a9048 in PyImport_ExecCodeModuleEx () from /usr/lib/arm-linux-gnueabihf/libpython2.7.so.1.0
#19 0xb68a9492 in ?? () from /usr/lib/arm-linux-gnueabihf/libpython2.7.so.1.0
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 33 (Thread 0xaabf33f0 (LWP 6170)):
#0 0xb5c307b2 in nanosleep () from /lib/arm-linux-gnueabihf/libc.so.6
#1 0xb5c4de38 in usleep () from /lib/arm-linux-gnueabihf/libc.so.6
#2 0x01a11a00 in XbmcThreads::ThreadSleep (millis=0) at /root/kodi/xbmc/xbmc/threads/platform/pthreads/ThreadImpl.h:37
#3 0x01a127f2 in CThread::Sleep (this=0x55192e0, milliseconds=0) at Thread.cpp:197
#4 0x018b43a6 in CDVDPlayer::Process (this=0x55192d8) at DVDPlayer.cpp:1349
#5 0x01a12824 in CThread::Action (this=0x55192e0) at Thread.cpp:221
#6 0x01a1258e in CThread::staticThread (data=0x55192e0) at Thread.cpp:131
#7 0xb6c8bf88 in start_thread () from /lib/arm-linux-gnueabihf/libpthread.so.0
#8 0xb5c520fc in ?? () from /lib/arm-linux-gnueabihf/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 32 (Thread 0xa04093f0 (LWP 6106)):
#0 0xb5c4d7c2 in select () from /lib/arm-linux-gnueabihf/libc.so.6
#1 0xb5c4d7bc in select () from /lib/arm-linux-gnueabihf/libc.so.6
#2 0xb6fc9f10 in _rtld_global_ro () from /lib/ld-linux-armhf.so.3
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 31 (Thread 0xa0c093f0 (LWP 6105)):
#0 0xb5c4d7c2 in select () from /lib/arm-linux-gnueabihf/libc.so.6
#1 0xb5c4d7bc in select () from /lib/arm-linux-gnueabihf/libc.so.6
#2 0xb6fc9f10 in _rtld_global_ro () from /lib/ld-linux-armhf.so.3
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 30 (Thread 0xadc7f3f0 (LWP 5965)):
#0 0xb5c4d7c2 in select () from /lib/arm-linux-gnueabihf/libc.so.6
#1 0xb5c4d7bc in select () from /lib/arm-linux-gnueabihf/libc.so.6
#2 0xb6fc9f10 in _rtld_global_ro () from /lib/ld-linux-armhf.so.3
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 29 (Thread 0xb12a13f0 (LWP 5926)):
#0 0xb5c4b8d2 in poll () from /lib/arm-linux-gnueabihf/libc.so.6
#1 0x019b9c40 in PERIPHERALS::CPeripheralBusUSB::WaitForUpdate (this=0x42f9618) at linux/PeripheralBusUSBLibUdev.cpp:237
#2 0x019b9b56 in PERIPHERALS::CPeripheralBusUSB::Process (this=0x42f9618) at linux/PeripheralBusUSBLibUdev.cpp:207
#3 0x01a12824 in CThread::Action (this=0x42f9618) at Thread.cpp:221
#4 0x01a1258e in CThread::staticThread (data=0x42f9618) at Thread.cpp:131
#5 0xb6c8bf88 in start_thread () from /lib/arm-linux-gnueabihf/libpthread.so.0
#6 0xb5c520fc in ?? () from /lib/arm-linux-gnueabihf/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 28 (Thread 0xa467a3f0 (LWP 6155)):
#0 0xb6c93546 in __libc_do_syscall () from /lib/arm-linux-gnueabihf/libpthread.so.0
#1 0xb6c8f3bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
#2 0x00b7aa18 in XbmcThreads::ConditionVariable::wait (this=0x2037158 <CJobManager::GetInstance()::sJobManager+264>, lock=..., milliseconds=30000) at /root/kodi
/xbmc/xbmc/threads/platform/pthreads/Condition.h:84
#3 0x00b7b58c in XbmcThreads::TightConditionVariable<bool volatile&>::wait<CCriticalSection> (this=0x2037188 <CJobManager::GetInstance()::sJobManager+312>, lock
=..., milliseconds=30000) at /root/kodi/xbmc/xbmc/threads/Condition.h:65
#4 0x00b7ac38 in CEvent::WaitMSec (this=0x2037130 <CJobManager::GetInstance()::sJobManager+224>, milliSeconds=30000) at /root/kodi/xbmc/xbmc/threads/Event.h:86
#5 0x0118301c in CJobManager::GetNextJob (this=0x2037050 <CJobManager::GetInstance()::sJobManager>, worker=0x4b93878) at JobManager.cpp:362
#6 0x01181dd2 in CJobWorker::Process (this=0x4b93878) at JobManager.cpp:59
#7 0x01a12824 in CThread::Action (this=0x4b93878) at Thread.cpp:221
#8 0x01a1258e in CThread::staticThread (data=0x4b93878) at Thread.cpp:131
#9 0xb6c8bf88 in start_thread () from /lib/arm-linux-gnueabihf/libpthread.so.0
#10 0xb5c520fc in ?? () from /lib/arm-linux-gnueabihf/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 27 (Thread 0xa5bf33f0 (LWP 5946)):
#0 0xb5c4d7c2 in select () from /lib/arm-linux-gnueabihf/libc.so.6
#1 0xb5c4d7bc in select () from /lib/arm-linux-gnueabihf/libc.so.6
#2 0x00000000 in ?? ()
Thread 26 (Thread 0xa23f33f0 (LWP 5958)):
#0 0xb5c4d7c2 in select () from /lib/arm-linux-gnueabihf/libc.so.6
#1 0xb5c4d7bc in select () from /lib/arm-linux-gnueabihf/libc.so.6
#2 0xa23f2c5c in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 25 (Thread 0xa2bf33f0 (LWP 5959)):
#0 0xb5c4d7c2 in select () from /lib/arm-linux-gnueabihf/libc.so.6
#1 0xb5c4d7bc in select () from /lib/arm-linux-gnueabihf/libc.so.6
#2 0x04bb1bb8 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 24 (Thread 0xa63f33f0 (LWP 5945)):
#0 0xb6c93546 in __libc_do_syscall () from /lib/arm-linux-gnueabihf/libpthread.so.0
#1 0xb6c8f3bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
#2 0x0109e530 in NPT_PosixSharedVariable::WaitUntilEquals (this=0x4a58f50, value=1, timeout=890000) at Neptune/Source/System/Posix/NptPosixThreads.cpp:198
#3 0x01080136 in NPT_SharedVariable::WaitUntilEquals (this=0x4bb1df8, value=1, timeout=890000) at ./Neptune/Source/Core/NptThreads.h:162
#4 0x010abf50 in PLT_ThreadTask::IsAborting (this=0x4bb1de8, timeout=890000) at Platinum/Source/Core/PltThreadTask.h:74
#5 0x019e3ac6 in PLT_SsdpDeviceAnnounceTask::DoRun (this=0x4bb1de8) at Platinum/Source/Core/PltSsdp.cpp:316
#6 0x010af766 in PLT_ThreadTask::Run (this=0x4bb1de8) at Platinum/Source/Core/PltThreadTask.cpp:179
#7 0x0109edda in NPT_PosixThread::Run (this=0x4ac8cc8) at Neptune/Source/System/Posix/NptPosixThreads.cpp:555
#8 0x0109eba0 in NPT_PosixThread::EntryPoint (argument=0x4ac8cc8) at Neptune/Source/System/Posix/NptPosixThreads.cpp:481
#9 0xb6c8bf88 in start_thread () from /lib/arm-linux-gnueabihf/libpthread.so.0
#10 0xb5c520fc in ?? () from /lib/arm-linux-gnueabihf/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 23 (Thread 0xa73f33f0 (LWP 5943)):
#0 0xb5c4d7c2 in select () from /lib/arm-linux-gnueabihf/libc.so.6
#1 0xb5c4d7bc in select () from /lib/arm-linux-gnueabihf/libc.so.6
#2 0x00000000 in ?? ()
Thread 22 (Thread 0xa83f33f0 (LWP 5941)):
#0 0xb6c93546 in __libc_do_syscall () from /lib/arm-linux-gnueabihf/libpthread.so.0
#1 0xb6c8f3bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
#2 0x0109e530 in NPT_PosixSharedVariable::WaitUntilEquals (this=0x4c2d290, value=1, timeout=5000) at Neptune/Source/System/Posix/NptPosixThreads.cpp:198
#3 0x01080136 in NPT_SharedVariable::WaitUntilEquals (this=0x4a33638, value=1, timeout=5000) at ./Neptune/Source/Core/NptThreads.h:162
#4 0x010abf50 in PLT_ThreadTask::IsAborting (this=0x4a33628, timeout=5000) at Platinum/Source/Core/PltThreadTask.h:74
#5 0x019dbac2 in PLT_CtrlPointHouseKeepingTask::DoRun (this=0x4a33628) at Platinum/Source/Core/PltCtrlPointTask.cpp:164
#6 0x010af766 in PLT_ThreadTask::Run (this=0x4a33628) at Platinum/Source/Core/PltThreadTask.cpp:179
#7 0x0109edda in NPT_PosixThread::Run (this=0x4c2d2e8) at Neptune/Source/System/Posix/NptPosixThreads.cpp:555
#8 0x0109eba0 in NPT_PosixThread::EntryPoint (argument=0x4c2d2e8) at Neptune/Source/System/Posix/NptPosixThreads.cpp:481
#9 0xb6c8bf88 in start_thread () from /lib/arm-linux-gnueabihf/libpthread.so.0
#10 0xb5c520fc in ?? () from /lib/arm-linux-gnueabihf/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 21 (Thread 0xab3f33f0 (LWP 5935)):
#0 0xb5c4b8d2 in poll () from /lib/arm-linux-gnueabihf/libc.so.6
#1 0xb6f35a1a in ?? () from /usr/lib/arm-linux-gnueabihf/libavahi-common.so.3
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 20 (Thread 0xa8bf33f0 (LWP 5940)):
#0 0xb5c4d7c2 in select () from /lib/arm-linux-gnueabihf/libc.so.6
#1 0xb5c4d7bc in select () from /lib/arm-linux-gnueabihf/libc.so.6
#2 0x0000007c in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 19 (Thread 0xb41ff3f0 (LWP 5922)):
#0 0xb6c93546 in __libc_do_syscall () from /lib/arm-linux-gnueabihf/libpthread.so.0
#1 0xb6c8f3bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
#2 0x00b7aa18 in XbmcThreads::ConditionVariable::wait (this=0x409e2f8, lock=..., milliseconds=100) at /root/kodi/xbmc/xbmc/threads/platform/pthreads/Condition.h
:84
#3 0x00b7b58c in XbmcThreads::TightConditionVariable<bool volatile&>::wait<CCriticalSection> (this=0x409e328, lock=..., milliseconds=100) at /root/kodi/xbmc/xbm
c/threads/Condition.h:65
#4 0x00b7ac38 in CEvent::WaitMSec (this=0x409e2d0, milliSeconds=100) at /root/kodi/xbmc/xbmc/threads/Event.h:86
#5 0x00c265a6 in ActiveAE::CActiveAE::Process (this=0x409e078) at Engines/ActiveAE/ActiveAE.cpp:935
#6 0x01a12824 in CThread::Action (this=0x409e080) at Thread.cpp:221
#7 0x01a1258e in CThread::staticThread (data=0x409e080) at Thread.cpp:131
#8 0xb6c8bf88 in start_thread () from /lib/arm-linux-gnueabihf/libpthread.so.0
#9 0xb5c520fc in ?? () from /lib/arm-linux-gnueabihf/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 18 (Thread 0xa6bf33f0 (LWP 6172)):
#0 0xb6c93546 in __libc_do_syscall () from /lib/arm-linux-gnueabihf/libpthread.so.0
#1 0xb6c8f3bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
#2 0x00b7aa18 in XbmcThreads::ConditionVariable::wait (this=0xb42556d8, lock=..., milliseconds=100) at /root/kodi/xbmc/xbmc/threads/platform/pthreads/Condition.
h:84
#3 0x00b7b58c in XbmcThreads::TightConditionVariable<bool volatile&>::wait<CCriticalSection> (this=0xb4255708, lock=..., milliseconds=100) at /root/kodi/xbmc/xb
mc/threads/Condition.h:65
#4 0x00b7ac38 in CEvent::WaitMSec (this=0xb42556b0, milliSeconds=100) at /root/kodi/xbmc/xbmc/threads/Event.h:86
#5 0x00d281b0 in XFILE::CFileCache::Process (this=0xb42554b8) at FileCache.cpp:314
#6 0x01a12824 in CThread::Action (this=0xb42554c0) at Thread.cpp:221
#7 0x01a1258e in CThread::staticThread (data=0xb42554c0) at Thread.cpp:131
#8 0xb6c8bf88 in start_thread () from /lib/arm-linux-gnueabihf/libpthread.so.0
#9 0xb5c520fc in ?? () from /lib/arm-linux-gnueabihf/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 17 (Thread 0xa33f33f0 (LWP 6134)):
#0 0xb6c93546 in __libc_do_syscall () from /lib/arm-linux-gnueabihf/libpthread.so.0
#1 0xb6c8f3bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
#2 0x00b7aa18 in XbmcThreads::ConditionVariable::wait (this=0x2037158 <CJobManager::GetInstance()::sJobManager+264>, lock=..., milliseconds=30000) at /root/kodi
/xbmc/xbmc/threads/platform/pthreads/Condition.h:84
#3 0x00b7b58c in XbmcThreads::TightConditionVariable<bool volatile&>::wait<CCriticalSection> (this=0x2037188 <CJobManager::GetInstance()::sJobManager+312>, lock
=..., milliseconds=30000) at /root/kodi/xbmc/xbmc/threads/Condition.h:65
#4 0x00b7ac38 in CEvent::WaitMSec (this=0x2037130 <CJobManager::GetInstance()::sJobManager+224>, milliSeconds=30000) at /root/kodi/xbmc/xbmc/threads/Event.h:86
#5 0x0118301c in CJobManager::GetNextJob (this=0x2037050 <CJobManager::GetInstance()::sJobManager>, worker=0x4b41830) at JobManager.cpp:362
#6 0x01181dd2 in CJobWorker::Process (this=0x4b41830) at JobManager.cpp:59
#7 0x01a12824 in CThread::Action (this=0x4b41830) at Thread.cpp:221
#8 0x01a1258e in CThread::staticThread (data=0x4b41830) at Thread.cpp:131
#9 0xb6c8bf88 in start_thread () from /lib/arm-linux-gnueabihf/libpthread.so.0
#10 0xb5c520fc in ?? () from /lib/arm-linux-gnueabihf/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 16 (Thread 0x9f4093f0 (LWP 6107)):
#0 0xb5c4d7c2 in select () from /lib/arm-linux-gnueabihf/libc.so.6
#1 0xb5c4d7bc in select () from /lib/arm-linux-gnueabihf/libc.so.6
#2 0xb6fc9f10 in _rtld_global_ro () from /lib/ld-linux-armhf.so.3
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 15 (Thread 0xa93f33f0 (LWP 5939)):
#0 0xb5c4d7c2 in select () from /lib/arm-linux-gnueabihf/libc.so.6
#1 0xb5c4d7bc in select () from /lib/arm-linux-gnueabihf/libc.so.6
#2 0x00000400 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 14 (Thread 0x9ec093f0 (LWP 6176)):
#0 0xb6c93546 in __libc_do_syscall () from /lib/arm-linux-gnueabihf/libpthread.so.0
#1 0xb6c8f3bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
#2 0x00b7aa18 in XbmcThreads::ConditionVariable::wait (this=0x5399aa8, lock=..., milliseconds=146) at /root/kodi/xbmc/xbmc/threads/platform/pthreads/Condition.h
:84
#3 0x00b7b58c in XbmcThreads::TightConditionVariable<bool volatile&>::wait<CCriticalSection> (this=0x5399ad8, lock=..., milliseconds=146) at /root/kodi/xbmc/xbm
c/threads/Condition.h:65
#4 0x00b7ac38 in CEvent::WaitMSec (this=0x5399a80, milliSeconds=146) at /root/kodi/xbmc/xbmc/threads/Event.h:86
#5 0x018e7992 in CDVDMessageQueue::Get (this=0x5399a78, pMsg=0x9ec08a9c, iTimeoutInMilliSeconds=146, priority=@0x9ec08a98: 1) at DVDMessageQueue.cpp:208
#6 0x018c8ca4 in CDVDPlayerAudio::DecodeFrame (this=0x5399810, audioframe=...) at DVDPlayerAudio.cpp:336
#7 0x018c9610 in CDVDPlayerAudio::Process (this=0x5399810) at DVDPlayerAudio.cpp:510
#8 0x01a12824 in CThread::Action (this=0x5399810) at Thread.cpp:221
#9 0x01a1258e in CThread::staticThread (data=0x5399810) at Thread.cpp:131
#10 0xb6c8bf88 in start_thread () from /lib/arm-linux-gnueabihf/libpthread.so.0
#11 0xb5c520fc in ?? () from /lib/arm-linux-gnueabihf/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 13 (Thread 0xa3bf33f0 (LWP 5951)):
#0 0xb6c93546 in __libc_do_syscall () from /lib/arm-linux-gnueabihf/libpthread.so.0
#1 0xb6c8f3bc in pthread_cond_timedwait@@GLIBC_2.4 () from /lib/arm-linux-gnueabihf/libpthread.so.0
#2 0x0109e530 in NPT_PosixSharedVariable::WaitUntilEquals (this=0xb4246298, value=1, timeout=5000) at Neptune/Source/System/Posix/NptPosixThreads.cpp:198
#3 0x01080136 in NPT_SharedVariable::WaitUntilEquals (this=0xb4257ea8, value=1, timeout=5000) at ./Neptune/Source/Core/NptThreads.h:162
#4 0x01085682 in NPT_HttpConnectionManager::Run (this=0xb4257e88) at Neptune/Source/Core/NptHttp.cpp:1319
#5 0x0109edda in NPT_PosixThread::Run (this=0xb428c468) at Neptune/Source/System/Posix/NptPosixThreads.cpp:555
#6 0x0109eba0 in NPT_PosixThread::EntryPoint (argument=0xb428c468) at Neptune/Source/System/Posix/NptPosixThreads.cpp:481
#7 0xb6c8bf88 in start_thread () from /lib/arm-linux-gnueabihf/libpthread.so.0
#8 0xb5c520fc in ?? () from /lib/arm-linux-gnueabihf/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 12 (Thread 0xa9bf33f0 (LWP 5938)):
#0 0xb5c4d7c2 in select () from /lib/arm-linux-gnueabihf/libc.so.6
#1 0xb5c4d7bc in select () from /lib/arm-linux-gnueabihf/libc.so.6
############# END STACK TRACE ###############
At one point, I had to repair my SD-Card filesystem which left some files corrupted and I had to reinstall some packages, including some python stuff, but I think everything is good again, now.
Do you see any shared library above that seems to be not working?
ldd -r works on all of them.
the last lines of the crashlog / logfile are as follows:
Code: 21:35:18 T:3032047616 DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: system rules
21:35:18 T:3032047616 DEBUG: CPlayerSelectionRule::GetPlayers: matches rule: system rules
21:35:18 T:3032047616 DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: mms/udp
21:35:18 T:3032047616 DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: lastfm/shout
21:35:18 T:3032047616 DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: rtmp
21:35:18 T:3032047616 DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: rtsp
21:35:18 T:3032047616 DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: streams
21:35:18 T:3032047616 DEBUG: CPlayerSelectionRule::GetPlayers: matches rule: streams
21:35:18 T:3032047616 DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: aacp/sdp
21:35:18 T:3032047616 DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: mp2
21:35:18 T:3032047616 DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: dvd
21:35:18 T:3032047616 DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: dvdimage
21:35:18 T:3032047616 DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: sdp/asf
21:35:18 T:3032047616 DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: nsv
21:35:18 T:3032047616 DEBUG: CPlayerSelectionRule::GetPlayers: considering rule: radio
21:35:18 T:3032047616 DEBUG: CPlayerCoreFactory::GetPlayers: matched 0 rules with players
21:35:18 T:3032047616 DEBUG: CPlayerCoreFactory::GetPlayers: adding videodefaultplayer (1)
21:35:18 T:3032047616 DEBUG: CPlayerCoreFactory::GetPlayers: for video=1, audio=0
21:35:18 T:3032047616 DEBUG: CPlayerCoreFactory::GetPlayers: for video=1, audio=1
21:35:18 T:3032047616 DEBUG: CPlayerCoreFactory::GetPlayers: adding player: DVDPlayer (1)
21:35:18 T:3032047616 DEBUG: CPlayerCoreFactory::GetPlayers: added 1 players
21:35:18 T:3032047616 DEBUG: Radio UECP (RDS) Processor - new CDVDRadioRDSData
21:35:18 T:3032047616 NOTICE: DVDPlayer: Opening: https://r4---sn-1gi7zn7z.googlevideo.com/videoplayback?lmt=1492180464553526&ei=dcfzWMC8F4PJcY2Mr_AD&requiressl=yes&dur=132.075&itag=22&pl=19&source=youtube&expire=1492392917&mime=video%2Fmp4&mm=31&signature=E38D5CE1C627B8019E0AA8F5E9CAC04076EA7933.836ED0CCFFC7A23AAA973B23281C71788FB168A8&ratebypass=yes&ipbits=0&initcwndbps=1713750&ip=212.203.58.128&key=yt6&ms=au&mt=1492371205&mv=m&id=o-AH-eRqSkpBwwBesIfzUpViHkihtY2kPwL7XEx8pr4ha7&sparams=dur%2Cei%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpl%2Cratebypass%2Crequiressl%2Csource%2Cupn%2Cexpire&mn=sn-1gi7zn7z&upn=S8MY68gHqkQ
21:35:18 T:3032047616 WARNING: CDVDMessageQueue(player)::Put MSGQ_NOT_INITIALIZED
21:35:18 T:3032047616 DEBUG: CRenderManager::UpdateDisplayLatency - Latency set to 0 msec
21:35:18 T:3032047616 DEBUG: LinuxRendererGLES: Cleaning up GLES resources
21:35:18 T:2864657392 DEBUG: Thread DVDPlayer start, auto delete: false
21:35:18 T:2864657392 NOTICE: Creating InputStream
21:35:18 T:2864657392 DEBUG: CCurlFile::GetMimeType - https://r4---sn-1gi7zn7z.googlevideo.com/videoplayback?lmt=1492180464553526&ei=dcfzWMC8F4PJcY2Mr_AD&requiressl=yes&dur=132.075&itag=22&pl=19&source=youtube&expire=1492392917&mime=video%2Fmp4&mm=31&signature=E38D5CE1C627B8019E0AA8F5E9CAC04076EA7933.836ED0CCFFC7A23AAA973B23281C71788FB168A8&ratebypass=yes&ipbits=0&initcwndbps=1713750&ip=212.203.58.128&key=yt6&ms=au&mt=1492371205&mv=m&id=o-AH-eRqSkpBwwBesIfzUpViHkihtY2kPwL7XEx8pr4ha7&sparams=dur%2Cei%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpl%2Cratebypass%2Crequiressl%2Csource%2Cupn%2Cexpire&mn=sn-1gi7zn7z&upn=S8MY68gHqkQ -> video/mp4
21:35:18 T:2864657392 DEBUG: CFileCache::Open - opening <videoplayback> using cache
21:35:18 T:2864657392 DEBUG: CurlFile::Open(0xa3d22380) https://r4---sn-1gi7zn7z.googlevideo.com/videoplayback?lmt=1492180464553526&ei=dcfzWMC8F4PJcY2Mr_AD&requiressl=yes&dur=132.075&itag=22&pl=19&source=youtube&expire=1492392917&mime=video%2Fmp4&mm=31&signature=E38D5CE1C627B8019E0AA8F5E9CAC04076EA7933.836ED0CCFFC7A23AAA973B23281C71788FB168A8&ratebypass=yes&ipbits=0&initcwndbps=1713750&ip=212.203.58.128&key=yt6&ms=au&mt=1492371205&mv=m&id=o-AH-eRqSkpBwwBesIfzUpViHkihtY2kPwL7XEx8pr4ha7&sparams=dur%2Cei%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpl%2Cratebypass%2Crequiressl%2Csource%2Cupn%2Cexpire&mn=sn-1gi7zn7z&upn=S8MY68gHqkQ
21:35:18 T:2864657392 NOTICE: Creating Demuxer
21:35:18 T:2797548528 DEBUG: Thread FileCache start, auto delete: false
21:35:18 T:2864657392 DEBUG: Open - probing detected format [mov,mp4,m4a,3gp,3g2,mj2]
21:35:18 T:2864657392 DEBUG: Open - avformat_find_stream_info starting
21:35:18 T:2864657392 DEBUG: Open - av_find_stream_info finished
21:35:18 T:2864657392 DEBUG: CDVDInputStreamFile::SetReadRate - set cache throttle rate to 236131 bytes per second
21:35:18 T:2864657392 NOTICE: Opening stream: 0 source: 256
21:35:18 T:2864657392 NOTICE: Creating video codec with codec id: 29
21:35:18 T:2864657392 DEBUG: CDVDFactoryCodec: compiled in hardware support: AMCodec:no MediaCodec:no OpenMax:no libstagefright:no VDPAU:yes VAAPI:no iMXVPU:no MMAL:no
21:35:18 T:2864657392 DEBUG: FactoryCodec - Video: - Opening
21:35:18 T:2864657392 NOTICE: CDVDVideoCodecFFmpeg::Open() Using codec: H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
21:35:18 T:2864657392 DEBUG: FactoryCodec - Video: ff-h264 - Opened
21:35:18 T:2864657392 NOTICE: Creating video thread
21:35:18 T:2864657392 NOTICE: Opening stream: 1 source: 256
21:35:18 T:2864657392 NOTICE: Finding audio codec for: 86018
21:35:18 T:2864657392 DEBUG: FactoryCodec - Audio: passthrough - Opening
21:35:18 T:2864657392 DEBUG: FactoryCodec - Audio: passthrough - Failed
21:35:18 T:2864657392 DEBUG: FactoryCodec - Audio: FFmpeg - Opening
21:35:18 T:2881434608 DEBUG: Thread DVDPlayerVideo start, auto delete: false
21:35:18 T:2881434608 NOTICE: running thread: video_thread
21:35:18 T:2864657392 DEBUG: FactoryCodec - Audio: FFmpeg - Opened
21:35:18 T:2864657392 NOTICE: Creating audio thread
21:35:18 T:2881434608 DEBUG: CDVDPlayerVideo - CDVDMsg::GENERAL_SYNCHRONIZE
21:35:18 T:2864657392 DEBUG: OnPlayBackStarted: play state was 1, starting 1
21:35:18 T:2864657392 DEBUG: CDVDPlayer::SetCaching - caching state 1
21:35:18 T:3032047616 DEBUG: PlayFile: OpenFile succeed, play state 2
21:35:18 T:3032047616 DEBUG: OnPlayBackStarted: play state was 2, starting 0
21:35:18 T:2663420912 DEBUG: Thread DVDPlayerAudio start, auto delete: false
21:35:18 T:2663420912 NOTICE: running thread: CDVDPlayerAudio::Process()
21:35:18 T:2663420912 DEBUG: CDVDPlayerAudio - CDVDMsg::GENERAL_SYNCHRONIZE
21:35:18 T:2864657392 DEBUG: CDVDPlayer::SetCaching - caching state 3
21:35:18 T:3032047616 DEBUG: ------ Window Deinit (DialogProgress.xml) ------
21:35:18 T:2881434608 DEBUG: CDVDPlayerVideo - CDVDMsg::GENERAL_RESYNC(0.000000, 1)
21:35:18 T:2881434608 INFO: CDVDPlayerVideo - Stillframe left, switching to normal playback
21:35:18 T:2881434608 DEBUG: CDVDPlayerVideo::CalcDropRequirement - hurry: 0
21:35:18 T:2881434608 NOTICE: CDVDVideoCodecFFmpeg::GetFormat - Creating VDPAU(1280x720)
21:35:18 T:2881434608 NOTICE: VDPAU::CreateContext - creating decoder context
21:35:18 T:2864657392 DEBUG: CDVDPlayer::CheckContinuity - wrapback :2, prev:125122.222222, curr:41711.111111, diff:-83411.111111
21:35:18 T:2663420912 NOTICE: Creating audio stream (codec id: 86018, channels: 2, sample rate: 44100, no pass-through)
21:35:18 T:2663420912 DEBUG: CDVDPlayerAudio:: synctype set to 0: clock feedback
21:35:18 T:2663420912 NOTICE: CDVDPlayerAudio::OutputPacket duplicate 1 packets of duration 23
21:35:18 T:3011507184 INFO: CActiveAESink::OpenSink - initialize sink
21:35:18 T:2881434608 NOTICE: vdp_device = 0x00000001 vdp_st = 0x00000000
21:35:18 T:2881434608 NOTICE: VDPAU Decoder capabilities:
21:35:18 T:2881434608 NOTICE: name level macbs width height
21:35:18 T:2881434608 NOTICE: ------------------------------------
21:35:18 T:2881434608 NOTICE: MPEG1 16 32400 3840 2160
21:35:18 T:2881434608 NOTICE: MPEG2_SIMPLE 16 32400 3840 2160
21:35:18 T:2881434608 NOTICE: MPEG2_MAIN 16 32400 3840 2160
21:35:18 T:2881434608 NOTICE: H264_BASELINE 16 32400 3840 2160
21:35:18 T:2881434608 NOTICE: H264_MAIN 16 32400 3840 2160
21:35:18 T:2881434608 NOTICE: H264_HIGH 16 32400 3840 2160
21:35:18 T:2881434608 NOTICE: MPEG4_PART2_ASP 16 32400 3840 2160
21:35:18 T:2881434608 NOTICE: ------------------------------------
21:35:18 T:2881434608 INFO: CVDPAU::FFGetBuffer - Video surface=2 created
21:35:18 T:2881434608 DEBUG: CVideoSurfaces::AddSurface - mark surface reference=2
21:35:18 T:2881434608 NOTICE: (VDPAU) ConfigVDPAU
21:35:18 T:2881434608 DEBUG: CVDPAU::SetWidthHeight Setting OutWidth: 1280 OutHeight: 720
21:35:18 T:2881434608 NOTICE: (VDPAU) screenWidth:1280 vidWidth:1280 surfaceWidth:1280
21:35:18 T:2881434608 NOTICE: (VDPAU) screenHeight:720 vidHeight:720 surfaceHeight:720
21:35:19 T:3011507184 DEBUG: CActiveAESink::OpenSink - trying to open device ALSA:@
21:35:19 T:3011507184 INFO: CAESinkALSA::Initialize - Attempting to open device "@"
21:35:19 T:3011507184 INFO: CAESinkALSA::Initialize - Opened device "sysdefault"
21:35:19 T:3011507184 INFO: CAESinkALSA::InitializeHW - Your hardware does not support AE_FMT_FLOAT, trying other formats
21:35:19 T:3011507184 INFO: CAESinkALSA::InitializeHW - Using data format AE_FMT_S16NE
21:35:19 T:3011507184 DEBUG: CAESinkALSA::InitializeHW - Request: periodSize 2048, bufferSize 8192
21:35:19 T:3011507184 DEBUG: CAESinkALSA::InitializeHW - Got: periodSize 2048, bufferSize 8192
21:35:19 T:3011507184 DEBUG: CAESinkALSA::InitializeHW - Setting timeout to 186 ms
21:35:19 T:3011507184 DEBUG: CAESinkALSA::GetChannelLayout - Input Channel Count: 2 Output Channel Count: 2
21:35:19 T:3011507184 DEBUG: CAESinkALSA::GetChannelLayout - Requested Layout: FL,FR
21:35:19 T:3011507184 DEBUG: CAESinkALSA::GetChannelLayout - Got Layout: FL,FR (ALSA: none)
21:35:19 T:3011507184 DEBUG: CActiveAESink::OpenSink - ALSA Initialized:
21:35:19 T:3011507184 DEBUG: Output Device : Default (sunxi-CODEC sunxi PCM)
21:35:19 T:3011507184 DEBUG: Sample Rate : 44100
21:35:19 T:3011507184 DEBUG: Sample Format : AE_FMT_S16NE
21:35:19 T:3011507184 DEBUG: Channel Count : 2
21:35:19 T:3011507184 DEBUG: Channel Layout: FL,FR
21:35:19 T:3011507184 DEBUG: Frames : 2048
21:35:19 T:3011507184 DEBUG: Frame Samples : 4096
21:35:19 T:3011507184 DEBUG: Frame Size : 4
21:35:19 T:3021992944 DEBUG: CActiveAE::ClearDiscardedBuffers - buffer pool deleted
21:35:19 T:2864657392 DEBUG: CDVDPlayer::HandleMessages - player started 1
21:35:19 T:2655032304 DEBUG: Thread Vdpau Output start, auto delete: false
21:35:19 T:2655032304 NOTICE: COutput::OnStartup: Output Thread created
21:35:19 T:2655032304 DEBUG: (VDPAU) COutput Process m_bStop=0
21:35:19 T:2655032304 NOTICE: (VDPAU) COutput Init
21:35:19 T:2655032304 NOTICE: VDPAU::COutput::CreateGlxContext - created context
So the crash seems to be coming without many warnings. I can play some formats locally, but have not been able to play any web streams.
If it does not know how to display the stream, I would expect it to tell me instead of crashing with a segfault ![Undecided Undecided](https://forum.kodi.tv/images/smilies/dont-know.png)
Still no audio. I do not get any warnings / errors if I stop squeezeserver and squeezelite, but still have a red "no sound" logo on the top right and cannot make it go away.
I would also like to have sound via HDMI (soundcard with index 2). How can I tell Kodi? The selection under Settings->Audio is grey and cannot be selected.
RE: hardware acceleration on allwinner A10/A20 with vdpau and OpenGLES (zero-copy) - mosterta - 2017-04-17
regarding the crash: the current (my) implementation expects that the library libvdpau_nv_sunxi.so.1 can be found in /usr/lib/vdpau. There is no fault handling done if it is in a different directory, but crashes with executing address 0x0000000 (which is the case in your backtrace). so check that the library is available in this directory.
regarding sound: have you checked with the program alsamixer, that the output is enabled and the volume is at a reasonable value? From your log file everything seems to be fine.
HDMI can be used in kodi via configuration in the settings menu (system/audio). When ALSA recognizes your HDMI output sink then you can choose the HDMI output sink there. When it is greyed out as in your case, then either Kodi does not recognize any sound device or within ALSA there is only one sink configured. You can see whether HDMI is available in the program alsamixer (you need to change the device via F6 key within the program). If there is no sndhdmi device available then your alsa configuration is not correct. please refer to how to configure ALSA. I do not know right now, since HDMI was recognized immediately on my Mele (A10) / bananapi / orangei.
RE: hardware acceleration on allwinner A10/A20 with vdpau and OpenGLES (zero-copy) - matrzh - 2017-04-17
Thanks for the hint. I would not have been able to make any sense out of the backtrace.
Now I get a
kodi.bin: opengl_nv.c:352: glVDPAUMapSurfacesNV: Assertion `nv' failed.
In the file there is indeed the code "assert(nv)" on that line.
Any idea? In any case, the backtrace is a bit more meaningful, now.
As for the sound: In alsamixer I can choose the other cards, but I get a message "This sound device does not have any controls"
I suspect I am missing a kernel module (I may just have to load it, but need to figure out which).
Getting there, one step at a time ![Wink Wink](https://forum.kodi.tv/images/smilies/wink.png)
---edit---
Just saw your previous post from the beginning of this thread where you mentioned to disable the vdpau mixing. It is now working !!
Still need to figure out the sound, and I do have a slight stutter every 2-5 seconds. Could be a streaming issue, but the internet is fast, in principle.
I also do see the cursor blinking on the top right. Is this normal or can this be shut off (it is from the login screen before starting kodi)
RE: hardware acceleration on allwinner A10/A20 with vdpau and OpenGLES (zero-copy) - mosterta - 2017-04-18
very well. the stutter is from writting debug information into the log file (~/.kodi/temp/kodi.log). When you recompile without debug or disable debug the stutter should be gone.
the blinking curser must be disabled outside of kodi. I created a udevd rule which switched blinking off when the sysfs is loaded:
bananapi@bananapro:/etc> less udev/rules.d/95-sysfs.rules
#rule to switch off console curser blinking
KERNEL=="fbcon", SUBSYSTEM=="graphics", ATTR{cursor_blink}="0"
RE: hardware acceleration on allwinner A10/A20 with vdpau and OpenGLES (zero-copy) - matrzh - 2017-04-22
blinking has gone and big improvements over the stutter when cutting off all debugging through the GUI.
Sound is being played over the headphone jack without problems. However, I cannot get it through HDMI which is the only thing left before I can actually enjoy kodi ![Wink Wink](https://forum.kodi.tv/images/smilies/wink.png)
But I did not really progress here over the last days, as everything seems in principle fine:
I can stream sound through the HDMI card with speaker-test or mpeg321
aplay -l displays:
**** List of PLAYBACK Hardware Devices ****
card 0: sunxicodec [sunxi-CODEC], device 0: M1 PCM [sunxi PCM]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: sunxisndspdif [sunxi-sndspdif], device 0: SUNXI-SPDIF sndspdif-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: sunxisndhdmi [sunxi-sndhdmi], device 0: SUNXI-HDMIAUDIO sndhdmi-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
mpeg321 -o alsa -a hw:2,0 somemusic.mp3 works perfectly. However, Kodi only shows as audio output a greyed out, unselectable "sunxi-CODEC" (which goes to the headphone jack)
Any ideas?
As mentioned: the cards 1 and 2 can be selected in alsamixer, but do not have any controls (this is not displayed as error, but more as information and apparently at least the HDMI can stream).
It kind of seems reasonable that HDMI is digital and has no volume control, though.
I was stumbling over this http://alsa.opensrc.org/Softvol, but it seems a bit cumbersome and I cannot imagine that this is necessary to make Kodi work...
Is there any other place where I can set Kodi on passthrough mode, when I cannot select the HDMI?
RE: hardware acceleration on allwinner A10/A20 with vdpau and OpenGLES (zero-copy) - mosterta - 2017-04-23
I have found the issue: The devices are named differently when I look to different platforms A10/A20 (linux-sunxi kernel) and H3 (H3 kernel)
A20 output in kodi.log:
20:39:05.884 T:3031375872 NOTICE: Enumerated ALSA devices:
20:39:05.884 T:3031375872 NOTICE: Device 1
20:39:05.885 T:3031375872 NOTICE: m_deviceName : @
20:39:05.885 T:3031375872 NOTICE: m_displayName : Default (sunxi-CODEC sunxi PCM)
20:39:05.885 T:3031375872 NOTICE: m_displayNameExtra:
20:39:05.885 T:3031375872 NOTICE: m_deviceType : AE_DEVTYPE_PCM
20:39:05.885 T:3031375872 NOTICE: m_channels : FL,FR
20:39:05.885 T:3031375872 NOTICE: m_sampleRates : 8000,11025,16000,22050,32000,44100,48000,96000,192000
20:39:05.885 T:3031375872 NOTICE: m_dataFormats : AE_FMT_S16NE,AE_FMT_S16LE
20:39:05.885 T:3031375872 NOTICE: m_streamTypes : No passthrough capabilities
20:39:05.885 T:3031375872 NOTICE: Device 2
20:39:05.886 T:3031375872 NOTICE: m_deviceName : sysdefault:CARD=sunxicodec
20:39:05.886 T:3031375872 NOTICE: m_displayName : sunxi-CODEC
20:39:05.886 T:3031375872 NOTICE: m_displayNameExtra: sunxi PCM
20:39:05.886 T:3031375872 NOTICE: m_deviceType : AE_DEVTYPE_PCM
20:39:05.886 T:3031375872 NOTICE: m_channels : FL,FR
20:39:05.886 T:3031375872 NOTICE: m_sampleRates : 8000,11025,16000,22050,32000,44100,48000,96000,192000
20:39:05.886 T:3031375872 NOTICE: m_dataFormats : AE_FMT_S16NE,AE_FMT_S16LE
20:39:05.886 T:3031375872 NOTICE: m_streamTypes : No passthrough capabilities
20:39:05.886 T:3031375872 NOTICE: Device 3
20:39:05.886 T:3031375872 NOTICE: m_deviceName : sysdefault:CARD=sunxisndhdmi
20:39:05.886 T:3031375872 NOTICE: m_displayName : sunxi-sndhdmi
20:39:05.887 T:3031375872 NOTICE: m_displayNameExtra: HDMI
20:39:05.887 T:3031375872 NOTICE: m_deviceType : AE_DEVTYPE_HDMI
20:39:05.887 T:3031375872 NOTICE: m_channels : FL,FR
20:39:05.887 T:3031375872 NOTICE: m_sampleRates : 8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,176400,192000
20:39:05.887 T:3031375872 NOTICE: m_dataFormats : AE_FMT_S32NE,AE_FMT_S16NE,AE_FMT_S16LE,AE_FMT_RAW
20:39:05.887 T:3031375872 NOTICE: m_streamTypes : STREAM_TYPE_AC3,STREAM_TYPE_DTSHD,STREAM_TYPE_DTSHD_CORE,STREAM_TYPE_DTS_1024,STREAM_TYPE_DTS_2048,STREAM_TYPE_DTS_512,STREAM_TYPE_EAC3,STREAM_TYPE_TRUEHD
H3 output of kodi.log:
3:51:07.654 T:3031781376 NOTICE: Enumerated ALSA devices:
23:51:07.656 T:3031781376 NOTICE: Device 1
23:51:07.663 T:3031781376 NOTICE: m_deviceName : @
23:51:07.664 T:3031781376 NOTICE: m_displayName : Default (audiocodec Analog)
23:51:07.665 T:3031781376 NOTICE: m_displayNameExtra:
23:51:07.667 T:3031781376 NOTICE: m_deviceType : AE_DEVTYPE_PCM
23:51:07.667 T:3031781376 NOTICE: m_channels : FL,FR
23:51:07.668 T:3031781376 NOTICE: m_sampleRates : 8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,176400,192000
23:51:07.669 T:3031781376 NOTICE: m_dataFormats : AE_FMT_S24NE4,AE_FMT_S32NE,AE_FMT_S16NE,AE_FMT_S16LE
23:51:07.670 T:3031781376 NOTICE: m_streamTypes : No passthrough capabilities
there is a sunxi dedicated whitelisting in the code, which searches for substring "sunxi" in the alsa device name. But the device names in H3 do not contain the substring "sunxi", while the A10/A20 device names do.
Which kernel are you using and which processor? (I just saw that your device have the sunxi substring - strange since the devices should be found. I will have a look at the code if the whitelisting is really required or can be done in a better way.
The other option is to install pulseaudio and try that. That worked for me as well, but since I do not have multiple sound generating applications I removed it from my system.
RE: hardware acceleration on allwinner A10/A20 with vdpau and OpenGLES (zero-copy) - matrzh - 2017-04-23
Quote:there is a sunxi dedicated whitelisting in the code, which searches for substring "sunxi" in the alsa device name.
I am wondering, now...is there something missing in this code? I cannot find any "sunxi" whitelisting. I searched for the string in all *.h and *.cpp files.
I used the xbmc version from https://github.com/tnmeyer/xbmc branch Jarvis_vdpau_gles
With the info below, I was digging a little into the code and got to
xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
Code: .....
else if (baseName == "front")
{
for (void** hint = hints; *hint != NULL; ++hint)
{
char *io = snd_device_name_get_hint(*hint, "IOID");
char *name = snd_device_name_get_hint(*hint, "NAME");
char *desc = snd_device_name_get_hint(*hint, "DESC");
if ((!io || strcmp(io, "Output") == 0) && name
&& strcmp(name, "null") != 0)
{
std::string baseName = std::string(name);
baseName = baseName.substr(0, baseName.find(':'));
if (strcmp(name, "default") == 0)
{
/* added already, but lets get the description if we have one */
if (desc)
defaultDescription = desc;
}
else if (baseName == "front")
{
/* Enumerate using the surroundXX mangling */
/* do not enumerate basic "front", it is already handled
* by the default "@" entry added in the very beginning */
if (strcmp(name, "front") != 0)
EnumerateDevice(list, std::string("@") + (name+5), desc ? desc : name, config);
}
/* Do not enumerate "default", it is already enumerated above. */
/* Do not enumerate the sysdefault or surroundXX devices, those are
* always accompanied with a "front" device and it is handled above
* as "@". The below devices will be automatically used if available
* for a "@" device. */
/* Ubuntu has patched their alsa-lib so that "defaults.namehint.extended"
* defaults to "on" instead of upstream "off", causing lots of unwanted
* extra devices (many of which are not actually routed properly) to be
* found by the enumeration process. Skip them as well ("hw", "dmix",
* "plughw", "dsnoop"). */
else if (baseName != "default"
&& baseName != "sysdefault"
&& baseName != "surround40"
&& baseName != "surround41"
&& baseName != "surround50"
&& baseName != "surround51"
&& baseName != "surround71"
&& baseName != "hw"
&& baseName != "dmix"
&& baseName != "plughw"
&& baseName != "dsnoop")
{
EnumerateDevice(list, name, desc ? desc : name, config);
}
}
...
But if I do aplay -L, I get:
Code: null
Discard all samples (playback) or generate zero samples (capture)
default:CARD=sunxicodec
sunxi-CODEC, sunxi PCM
Default Audio Device
sysdefault:CARD=sunxicodec
sunxi-CODEC, sunxi PCM
Default Audio Device
dmix:CARD=sunxicodec,DEV=0
sunxi-CODEC, sunxi PCM
Direct sample mixing device
dsnoop:CARD=sunxicodec,DEV=0
sunxi-CODEC, sunxi PCM
Direct sample snooping device
hw:CARD=sunxicodec,DEV=0
sunxi-CODEC, sunxi PCM
Direct hardware device without any conversions
plughw:CARD=sunxicodec,DEV=0
sunxi-CODEC, sunxi PCM
Hardware device with all software conversions
default:CARD=sunxisndspdif
sunxi-sndspdif,
Default Audio Device
sysdefault:CARD=sunxisndspdif
sunxi-sndspdif,
Default Audio Device
dmix:CARD=sunxisndspdif,DEV=0
sunxi-sndspdif,
Direct sample mixing device
dsnoop:CARD=sunxisndspdif,DEV=0
sunxi-sndspdif,
Direct sample snooping device
hw:CARD=sunxisndspdif,DEV=0
sunxi-sndspdif,
Direct hardware device without any conversions
plughw:CARD=sunxisndspdif,DEV=0
sunxi-sndspdif,
Hardware device with all software conversions
default:CARD=sunxisndhdmi
sunxi-sndhdmi,
Default Audio Device
sysdefault:CARD=sunxisndhdmi
sunxi-sndhdmi,
Default Audio Device
dmix:CARD=sunxisndhdmi,DEV=0
sunxi-sndhdmi,
Direct sample mixing device
dsnoop:CARD=sunxisndhdmi,DEV=0
sunxi-sndhdmi,
Direct sample snooping device
hw:CARD=sunxisndhdmi,DEV=0
sunxi-sndhdmi,
Direct hardware device without any conversions
plughw:CARD=sunxisndhdmi,DEV=0
sunxi-sndhdmi,
Hardware device with all software conversions
I do not really know the Alsa API and what the method 'snd_device_name_get_hint' does compared to aplay -L, but my guess is that this excludes all cards from the listing...
Default is somewhere defined before, I do not quite see where, but only the description is added (and I see the sunxi-CODEC sunxi PCM in the GUI).
Then, sunxisndhdmi and sunxisndspdif all have the excluded names as "base name".
Should I allow the "default"?
RE: hardware acceleration on allwinner A10/A20 with vdpau and OpenGLES (zero-copy) - mosterta - 2017-04-23
it seems that the tnmeyer repository misses some code (for whatever reason), where in my repository this code is included.
This is the missing code (see else branch)
else if (baseName != "default"
&& baseName != "sysdefault"
&& baseName != "surround40"
&& baseName != "surround41"
&& baseName != "surround50"
&& baseName != "surround51"
&& baseName != "surround71"
&& baseName != "hw"
&& baseName != "dmix"
&& baseName != "plughw"
&& baseName != "dsnoop")
{
EnumerateDevice(list, name, desc ? desc : name, config);
}
else
{
/* sunxi whilelist */
std: tring strDevice = std: tring(name);
size_t found = strDevice.find("sunxi");
if(found != std: tring::npos)
EnumerateDevice(list, name, desc ? desc : name, config);
}
This white listing does work for your kernel, you will see a lot of devices in Kodi (this is an Ubuntu bug, whereas I use openSuse which does not have the issue). A fix including Ubuntu is to restrict the white listing for the device "sysdefault".
RE: hardware acceleration on allwinner A10/A20 with vdpau and OpenGLES (zero-copy) - matrzh - 2017-04-23
It's working! I added the code and filtered for baseName=="sysdefault" and have 4 devices showing (default and the first being identical). You are my hero ![Wink Wink](https://forum.kodi.tv/images/smilies/wink.png)
Now I still need to compile without debugging enabled and hopefully I can get rid of the out of sync problem between audio and video.
Thanks again
RE: hardware acceleration on allwinner A10/A20 with vdpau and OpenGLES (zero-copy) - mosterta - 2017-04-24
you're welcome.
Now that you have been able to compile that version and enjoying the videos, you can do your next step and compile kodi version 17.1 with improved video output. The GLES version is based on Kodi 16.x and has performance issues with full HD video resolution. In the kodi version 17.x I have replaced the GLES output by using a more hardware centric approach (i.e. I used the hardware layer mechanism instead of build the layers via OpenGL). This version displays videos much smoother, especially in Full HD resolution.
I don't know whether it is in the tnmeyers respository, but it is in mine on the branch "master_allwinner_layered_vdpau". So if you want to compile a bit more and even get a better experience on watching videos, then try this one.
RE: hardware acceleration on allwinner A10/A20 with vdpau and OpenGLES (zero-copy) - matrzh - 2017-04-27
Hi. I succeeded to compile your version, but now I get again Segmentation faults when trying to play the videos.
Actually, before I tried to turn off debugging in tnmeyer's version (which remained in there in a really stubborn way, trying it with advancedsettings.xml etc., but this also led to a crash.
It could be that Libudev was additionally configured after I cleared the cache?
crashlog is will be added below.
I cannot see any unresolved lib-calls, but I am a little guessing around, here...
Your compile went through very smoothly. However, I tried a previous version of yours before I checked out the master_allwinner_layered_vdpau that had an old ffmpeg. could it be corrupted?
Your compile went through relatively straight forward ![Smile Smile](https://forum.kodi.tv/images/smilies/smile.png)
In xbmc/windowing/egl/EGLNativeTypeA10.cpp I had to comment out #include <os_adapter.h> and get drv_display_sun4i.h from a cedarx-lib that I found somewhere (may I could also comment it out, did not try).
xbmc/cores/VideoPlayer/DVDCodecs/Video/Makefile did not have HwBufferAllwinner.cpp in the source variable.
and my sunxi_disp_ioctl.h was in the video subdirectory whereas you include it from the linux subdirectory in HwLayerAllwinnerA10.cpp
Probably a kernel difference? (I am on 3.4.111)
RE: hardware acceleration on allwinner A10/A20 with vdpau and OpenGLES (zero-copy) - Rechi - 2017-04-27
(2017-04-27, 22:43)matrzh Wrote: crashlog is here: https://pastebin.com/ycKaj10i
You have installed Banned add-ons (wiki), so you won't get any support here unless you want to remove them.
|