News:

Latest versions:
Server plugin: 0.5.1
MVP dongle: 0.5.2
Raspberry Pi client: 0.5.2
Windows client: 0.5.2-1

Main Menu

compiling git problem?

Started by dingo35, November 27, 2014, 08:12:32

Previous topic - Next topic

dingo35

Hi all,

When compiling GIT version of vompclient on Raspi (which is current on Raspbian) first I have to install a new package to fullfill a new dependency:
apt-get install libavresample-dev   (documenting this for others).

But then I come in to this error:
audioomx.cc: In member function 'unsigned int AudioOMX::AdvanceMpAudioSync(const UCHAR*, unsigned int, unsigned int*)':
audioomx.cc:1579:15: warning: declaration of 'test' shadows a member of 'this' [-Wshadow]
audioomx.cc: In member function 'unsigned int AudioOMX::AdvanceAc3AudioSync(const UCHAR*, unsigned int, unsigned int*)':
audioomx.cc:1659:15: warning: declaration of 'test' shadows a member of 'this' [-Wshadow]
audioomx.cc: In member function 'unsigned int AudioOMX::AdvanceAacLatmAudioSync(const UCHAR*, unsigned int, unsigned int*)':
audioomx.cc:1679:15: warning: declaration of 'test' shadows a member of 'this' [-Wshadow]
audioomx.cc: In member function 'void AudioOMX::getDownMixMatrix(long long unsigned int, int*, int*)':
audioomx.cc:1710:18: error: 'AV_CH_BACK_LEFT' was not declared in this scope
audioomx.cc:1710:36: error: 'AV_CH_SIDE_LEFT' was not declared in this scope
audioomx.cc: In member function 'UINT AudioOMX::DeliverMediaPacket(MediaPacket, const UCHAR*, UINT*)':


I tried fiddling around:

-adding a "#include <libavutil/channel_layout.h>" to audioomx.h
then new errors occur, solving them:
-adding -fpermissive flag to CXXFLAGS_DEV in GNUMakefile
-adding -ldl and -lfontconfig to LIBS in GNUMakefile

..then it compiles but audio is some kind of "Donald Duck" like sound.

What am I doing wrong?

MartenR

Please go to the scraper support branch of vomp.
There I have adapted vomp to the changes in the new version of libav.
The old code is just not working with the new libs. (If you do not want to use the new branch, you may just replace the audioomx files).

Marten

dingo35

#2
After apt-update, apt-upgrade I downloaded current vompclient (not vompclient-marten), did a git checkout scraper_support, but I keep getting a compile error in remotelinux.cc:

remotelinux.cc: In member function 'int RemoteLinux::initCec()':
remotelinux.cc:134:34: error: invalid conversion from 'int (*)(void*, const cec_log_message&) {aka int (*)(void*, const CEC::cec_log_message&)}' to 'CEC::CBCecLogMessageType {aka int (*)(void*, CEC::cec_log_message)}' [-fpermissive]
remotelinux.cc:135:32: error: invalid conversion from 'int (*)(void*, const cec_keypress&) {aka int (*)(void*, const CEC::cec_keypress&)}' to 'CEC::CBCecKeyPressType {aka int (*)(void*, CEC::cec_keypress)}' [-fpermissive]
remotelinux.cc:136:31: error: invalid conversion from 'int (*)(void*, const cec_command&) {aka int (*)(void*, const CEC::cec_command&)}' to 'CEC::CBCecCommandType {aka int (*)(void*, CEC::cec_command)}' [-fpermissive]
remotelinux.cc:137:44: error: invalid conversion from 'int (*)(void*, const libcec_configuration&) {aka int (*)(void*, const CEC::libcec_configuration&)}' to 'CEC::CBCecConfigurationChangedType {aka int (*)(void*, CEC::libcec_configuration)}' [-fpermissive]
remotelinux.cc: In member function 'virtual UCHAR RemoteLinux::getButtonPress(int)':
remotelinux.cc:251:36: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
remotelinux.cc:279:37: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
<builtin>: recipe for target 'remotelinux.o' failed
make: *** [remotelinux.o] Error 1


These are my libcec versions:
root@raspvideo:/usr/local/src/vompclient# dpkg -l | grep libcec
ii  libcec-dev                         2.1.3-1                            armhf        USB CEC Adaptor communication Library (development files)
ii  libcec1:armhf                      1.8.1-1                            armhf        USB CEC Adaptor communication Library (shared library)
ii  libcec2:armhf                      2.1.3-1                            armhf        USB CEC Adaptor communication Library (shared library)


Is the libcec1 1.8.1-1 version the problem? apt-get install libcec1 states it is already on the newest version....

What to do?

MartenR

The problem are the missing development files for 1.8.1-1 .
Since I have only patched with raspberry pi support. I do not know, if the raspbian folks managed to included support for the raspi in their libcec version.
Anyway, did you switch to jessie? Since I do not have the split into libcec1 and libcec2.

Marten

dingo35

Hi Marten,

In my experience stuff is patched to RasPi before it is added to the Raspbian image/repository.
I also found this link http://stackoverflow.com/questions/15315372/sending-cec-commands-via-command-line-over-hdmi, stating:
Recent versions of libcec will recognize the Raspberry Pi hardware as a CEC adapter.

Stackoverflow is usually a reliable source, but I guess testing after compiling would be the ultimate proof. I have no HDMI CEC device, but I recall to have read somewhere you have :-)

Answering your question, I am still on wheezy:
root@raspvideo:/etc# cat /etc/apt/sources.list
deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi
root@raspvideo:/etc# apt-cache search libcec
libcec-dev - USB CEC Adaptor communication Library (development files)
libcec1 - USB CEC Adaptor communication Library (shared library)
libcec2 - USB CEC Adaptor communication Library (shared library)
root@raspvideo:/etc# cat /etc/debian_version
7.8


The libcec-dev changelog reports libcec (2.1.3-1) unstable; urgency=low

Should I downgrade to 1.8 or is the fixing of the compile errors a minor operation?

MartenR

Well, stackoverflow is right, but the raspbian packages did not set the right compile flags. I am checking, what current status is.

Downgrade to 1.8 is the simplest thing, unfortunetely, the api of libcec had a slightly change.
You can also patch the interface yourself, somewhere in this forum are instructions, but I think then you will miss the raspberry pi cec support, which is quite important for vomp, even if you do not use it. (initialization of communication with bcm_host is inside libcec).

Marten

dingo35

Yep, downgrading did the trick!