openhome / ohplayer Goto Github PK
View Code? Open in Web Editor NEWohPlayer is a full featured OpenHome media renderer licenced under an MIT licence
License: Other
ohPlayer is a full featured OpenHome media renderer licenced under an MIT licence
License: Other
Compilation on Raspberry 9 (stretch) fails!
make -f Makefile.raspbian make[1] : on entre dans le répertoire « /tmp/ohPlayer/ohPlayer/linux » g++ -c -Wall -std=c++0x -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -DTARG_ARCH=Linux-armhf -fstack-protector -fstack-check -I../dependencies/Linux-armhf/ohMediaPlayer/include -I../dependencies/Linux-armhf/ohNetmon/include -I../dependencies/Linux-armhf/openssl/include -I../dependencies/Linux-armhf/ohNetGenerated-Linux-armhf-Release/include/ohnet/OpenHome/Net/Core -I../dependencies/Linux-armhf/ohNet-Linux-armhf-Release/include/ohnet -c ConfigGTKKeyStore.cpp -o raspbian/objs/ConfigGTKKeyStore.o g++ -c -Wall -std=c++0x -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -DTARG_ARCH=Linux-armhf -fstack-protector -fstack-check -I../dependencies/Linux-armhf/ohMediaPlayer/include -I../dependencies/Linux-armhf/ohNetmon/include -I../dependencies/Linux-armhf/openssl/include -I../dependencies/Linux-armhf/ohNetGenerated-Linux-armhf-Release/include/ohnet/OpenHome/Net/Core -I../dependencies/Linux-armhf/ohNet-Linux-armhf-Release/include/ohnet -c RamStore.cpp -o raspbian/objs/RamStore.o g++ -c -Wall -std=c++0x -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -DTARG_ARCH=Linux-armhf -fstack-protector -fstack-check -I../dependencies/Linux-armhf/ohMediaPlayer/include -I../dependencies/Linux-armhf/ohNetmon/include -I../dependencies/Linux-armhf/openssl/include -I../dependencies/Linux-armhf/ohNetGenerated-Linux-armhf-Release/include/ohnet/OpenHome/Net/Core -I../dependencies/Linux-armhf/ohNet-Linux-armhf-Release/include/ohnet -c ControlPointProxy.cpp -o raspbian/objs/ControlPointProxy.o g++ -c -Wall -std=c++0x -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -DTARG_ARCH=Linux-armhf -fstack-protector -fstack-check -I../dependencies/Linux-armhf/ohMediaPlayer/include -I../dependencies/Linux-armhf/ohNetmon/include -I../dependencies/Linux-armhf/openssl/include -I../dependencies/Linux-armhf/ohNetGenerated-Linux-armhf-Release/include/ohnet/OpenHome/Net/Core -I../dependencies/Linux-armhf/ohNet-Linux-armhf-Release/include/ohnet -c Libav.cpp -o raspbian/objs/Libav.o g++ -c -Wall -std=c++0x -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -DTARG_ARCH=Linux-armhf -fstack-protector -fstack-check -I../dependencies/Linux-armhf/ohMediaPlayer/include -I../dependencies/Linux-armhf/ohNetmon/include -I../dependencies/Linux-armhf/openssl/include -I../dependencies/Linux-armhf/ohNetGenerated-Linux-armhf-Release/include/ohnet/OpenHome/Net/Core -I../dependencies/Linux-armhf/ohNet-Linux-armhf-Release/include/ohnet -c Volume.cpp -o raspbian/objs/Volume.o g++ -c -Wall -std=c++0x -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -DTARG_ARCH=Linux-armhf -fstack-protector -fstack-check -I../dependencies/Linux-armhf/ohMediaPlayer/include -I../dependencies/Linux-armhf/ohNetmon/include -I../dependencies/Linux-armhf/openssl/include -I../dependencies/Linux-armhf/ohNetGenerated-Linux-armhf-Release/include/ohnet/OpenHome/Net/Core -I../dependencies/Linux-armhf/ohNet-Linux-armhf-Release/include/ohnet -c ExampleMediaPlayer.cpp -o raspbian/objs/ExampleMediaPlayer.o g++ -c -Wall -std=c++0x -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -DTARG_ARCH=Linux-armhf -fstack-protector -fstack-check -I../dependencies/Linux-armhf/ohMediaPlayer/include -I../dependencies/Linux-armhf/ohNetmon/include -I../dependencies/Linux-armhf/openssl/include -I../dependencies/Linux-armhf/ohNetGenerated-Linux-armhf-Release/include/ohnet/OpenHome/Net/Core -I../dependencies/Linux-armhf/ohNet-Linux-armhf-Release/include/ohnet -c UpdateCheck.cpp -o raspbian/objs/UpdateCheck.o g++ -c -Wall -std=c++0x -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -DTARG_ARCH=Linux-armhf -fstack-protector -fstack-check -I../dependencies/Linux-armhf/ohMediaPlayer/include -I../dependencies/Linux-armhf/ohNetmon/include -I../dependencies/Linux-armhf/openssl/include -I../dependencies/Linux-armhf/ohNetGenerated-Linux-armhf-Release/include/ohnet/OpenHome/Net/Core -I../dependencies/Linux-armhf/ohNet-Linux-armhf-Release/include/ohnet -c MediaPlayerIF.cpp -o raspbian/objs/MediaPlayerIF.o g++ -c -Wall -std=c++0x -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -DTARG_ARCH=Linux-armhf -fstack-protector -fstack-check -I../dependencies/Linux-armhf/ohMediaPlayer/include -I../dependencies/Linux-armhf/ohNetmon/include -I../dependencies/Linux-armhf/openssl/include -I../dependencies/Linux-armhf/ohNetGenerated-Linux-armhf-Release/include/ohnet/OpenHome/Net/Core -I../dependencies/Linux-armhf/ohNet-Linux-armhf-Release/include/ohnet -c OpenHomePlayer.cpp -o raspbian/objs/OpenHomePlayer.o g++ -c -Wall -std=c++0x -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -DTARG_ARCH=Linux-armhf -fstack-protector -fstack-check -I../dependencies/Linux-armhf/ohMediaPlayer/include -I../dependencies/Linux-armhf/ohNetmon/include -I../dependencies/Linux-armhf/openssl/include -I../dependencies/Linux-armhf/ohNetGenerated-Linux-armhf-Release/include/ohnet/OpenHome/Net/Core -I../dependencies/Linux-armhf/ohNet-Linux-armhf-Release/include/ohnet -c DriverAlsa.cpp -o raspbian/objs/DriverAlsa.o g++ raspbian/objs/ConfigGTKKeyStore.o raspbian/objs/RamStore.o raspbian/objs/ControlPointProxy.o raspbian/objs/Libav.o raspbian/objs/Volume.o raspbian/objs/ExampleMediaPlayer.o raspbian/objs/UpdateCheck.o raspbian/objs/MediaPlayerIF.o raspbian/objs/OpenHomePlayer.o raspbian/objs/DriverAlsa.o -Wall -lglib-2.0 -lasound -lSourcePlaylist -lSourceSongcast -lSourceUpnpAv -lSourceRadio -lShell -lohMediaPlayer -lWebAppFramework -lConfigUi -lohNetGeneratedProxies -lohNetCore -lCodecAdts -lCodecAac -lCodecAacBase -lCodecMp3 -lCodecAifc -lCodecAlacApple -lCodecAlacAppleBase -lCodecPcm -lCodecAiff -lCodecAiffBase -lCodecVorbis -llibOgg -lCodecFlac -lCodecWav -lohPipeline -lpthread -lssl -lcrypto -ldl -lm -L../dependencies/Linux-armhf/ohMediaPlayer/lib -L../dependencies/Linux-armhf/ohNetmon/lib -L../dependencies/Linux-armhf/openssl/lib -L../dependencies/Linux-armhf/ohNet-Linux-armhf-Release/lib -L../dependencies/Linux-armhf/ohNetGenerated-Linux-armhf-Release/lib -o raspbian/openhome-player ../dependencies/Linux-armhf/ohMediaPlayer/lib/libConfigUi.a(ConfigUiMediaPlayer.cpp.84.o) : Dans la fonction « OpenHome::Web::ConfigAppMediaPlayer::ConfigAppMediaPlayer(OpenHome::Media::IInfoAggregator&, OpenHome::Environment&, OpenHome::Av::Product&, OpenHome::Configuration::IConfigManager&, OpenHome::Web::IConfigAppResourceHandlerFactory&, std::vector > const&, OpenHome::Brx const&, OpenHome::Brx const&, unsigned int, unsigned int, OpenHome::Av::IRebootHandler&) » : /home/hudson-zapp/workspace/ohMediaPlayer-Publish/PLATFORM/Linux-armhf/ohMediaPlayer/buildhudson/../OpenHome/Web/ConfigUi/ConfigUiMediaPlayer.cpp:32 : référence indéfinie vers « OpenHome::Av::Qobuz::kConfigKeySoundQuality » collect2: error: ld returned 1 exit status Makefile.raspbian:120 : la recette pour la cible « raspbian/openhome-player » a échouée make[1]: *** [raspbian/openhome-player] Erreur 1 make[1] : on quitte le répertoire « /tmp/ohPlayer/ohPlayer/linux » Makefile:28 : la recette pour la cible « raspbian » a échouée make: *** [raspbian] Erreur 2
The snippet used for compilation:
https://gist.github.com/gwin-zegal/0c844e46a46723b7860059750a0e4b9d#file-ohplayerbuild-sh
There seems to be a buck in the linux version of the Qobuz api: One can add songs from Qobuz to the playlist but ohplayer does not play them and jumps to the next song. It plays only songs on the playlist from the local UPnP server.
Scenario:
MacBook with Mac OS/X (tested with 10.13 High Sierra and 11.4 Big Sur) with Openhome Player 1.0.6 and upnpBubble or Kazoo Server (both tested, same behaviour), DAC connected via USB, Android tablet with Linn Kazoo as remote control, playing Qobuz only.
After listening music for one hour or so (can happen earlier) the Openhome Player stops playing music. The process hangs or crashes. (No relation to energy saving or computer sleeping, if there is that question.)
The only possibility to continue playing music is to kill the OpenHomePlayerAFSCodec process (if not yet crashed completely) with the Mac activity monitor (close in the menu of the ohPlayer doesn't work any more) and to restart the ohPlayer.
I want to compile ohPlayer in my linux mint, But some error happend:
Libav.cpp:39:35: fatal error: libavutil/mathematics.h: No such file or directory
I think this code:
extern "C"
{
}
shold put into #ifdef USE_LIBAVCODEC
After I have compiled success, I run openhome-player, segment fault happened:
Using Subnet 192.168.0.0
ZoneHandler. SenderZone is PiPlayer-dennis-Inspiron-7447
OHM SENDER DRIVER LATENCY 150
Segmentation fault
openhome-player must run in ubuntu? my system is linux min 17
Compilation on Raspberry 8 (jessie) fails!
I used https://gist.github.com/gwin-zegal/0c844e46a46723b7860059750a0e4b9d#file-ohplayerbuild-sh
Done installing documentation for fpm after 19 seconds
1 gem installed
Fetching 'ohMediaPlayer'
from AWS s3://linn-artifacts-public/artifacts/ohMediaPlayer/ohMediaPlayer-1.96.795-Linux-rpi-Release.tar.gz
from 'https://s3-eu-west-1.amazonaws.com/linn-artifacts-public/artifacts/ohMediaPlayer/ohMediaPlayer-1.96.795-Linux-rpi-Release.tar.gz'
close failed in file object destructor:
IOError: [Errno 9] Bad file descriptor
**** WARNING - failed to fetch http://builds.openhome.org/releases/artifacts/ohMediaPlayer/ohMediaPlayer-1.96.795-Linux-rpi-Release.tar.gz ****
Fetching 'ohNet'
from AWS s3://linn-artifacts-public/artifacts/ohNet/ohNet-1.22.3172-Linux-rpi-Release.tar.gz
from 'https://s3-eu-west-1.amazonaws.com/linn-artifacts-public/artifacts/ohNet/ohNet-1.22.3172-Linux-rpi-Release.tar.gz'
close failed in file object destructor:
IOError: [Errno 9] Bad file descriptor
**** WARNING - failed to fetch http://builds.openhome.org/releases/artifacts/ohNet/ohNet-1.22.3172-Linux-rpi-Release.tar.gz ****
Fetching 'ohWafHelpers'
from AWS s3://linn-artifacts-public/artifacts/ohWafHelpers/ohWafHelpers-0.0.115.tar.gz
from 'https://s3-eu-west-1.amazonaws.com/linn-artifacts-public/artifacts/ohWafHelpers/ohWafHelpers-0.0.115.tar.gz'
close failed in file object destructor:
IOError: [Errno 9] Bad file descriptor
**** WARNING - failed to fetch http://builds.openhome.org/releases/artifacts/ohWafHelpers/ohWafHelpers-0.0.115.tar.gz ****
Fetching 'openssl'
from AWS s3://linn-artifacts-public/artifacts/openssl/openssl-0.3.92-Linux-rpi-Release.tar.bz2
from 'https://s3-eu-west-1.amazonaws.com/linn-artifacts-public/artifacts/openssl/openssl-0.3.92-Linux-rpi-Release.tar.bz2'
close failed in file object destructor:
IOError: [Errno 9] Bad file descriptor
**** WARNING - failed to fetch http://builds.openhome.org/releases/artifacts/openssl/openssl-0.3.92-Linux-rpi-Release.tar.bz2 ****
Fetching 'ohNetGenerated'
from AWS s3://linn-artifacts-public/artifacts/ohNetGenerated/ohNetGenerated-1.1.164-Linux-rpi-Release.tar.gz
from 'https://s3-eu-west-1.amazonaws.com/linn-artifacts-public/artifacts/ohNetGenerated/ohNetGenerated-1.1.164-Linux-rpi-Release.tar.gz'
close failed in file object destructor:
IOError: [Errno 9] Bad file descriptor
**** WARNING - failed to fetch http://builds.openhome.org/releases/artifacts/ohNetGenerated/ohNetGenerated-1.1.164-Linux-rpi-Release.tar.gz ****
[Errno 2] No such file or directory: 'dependencies/loadedDeps.json'
make -f Makefile.raspbian
make[1]: Entering directory '/tmp/ohPlayer/ohPlayer/linux'
g++ -c -Wall -std=c++0x -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -DTARG_ARCH=Linux-rpi -fstack-protector -fstack-check -DDEFINE_LITTLE_ENDIAN -I../dependencies/Linux-rpi/ohMediaPlayer/include -I../dependencies/Linux-rpi/ohNetmon/include -I../dependencies/Linux-rpi/openssl/include -I../dependencies/Linux-rpi/ohNetGenerated-Linux-rpi-Release/include/ohnet/OpenHome/Net/Core -I../dependencies/Linux-rpi/ohNet-Linux-rpi-Release/include/ohnet -c ConfigGTKKeyStore.cpp -o raspbian/objs/ConfigGTKKeyStore.o
g++ -c -Wall -std=c++0x -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -DTARG_ARCH=Linux-rpi -fstack-protector -fstack-check -DDEFINE_LITTLE_ENDIAN -I../dependencies/Linux-rpi/ohMediaPlayer/include -I../dependencies/Linux-rpi/ohNetmon/include -I../dependencies/Linux-rpi/openssl/include -I../dependencies/Linux-rpi/ohNetGenerated-Linux-rpi-Release/include/ohnet/OpenHome/Net/Core -I../dependencies/Linux-rpi/ohNet-Linux-rpi-Release/include/ohnet -c RamStore.cpp -o raspbian/objs/RamStore.o
g++ -c -Wall -std=c++0x -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -DTARG_ARCH=Linux-rpi -fstack-protector -fstack-check -DDEFINE_LITTLE_ENDIAN -I../dependencies/Linux-rpi/ohMediaPlayer/include -I../dependencies/Linux-rpi/ohNetmon/include -I../dependencies/Linux-rpi/openssl/include -I../dependencies/Linux-rpi/ohNetGenerated-Linux-rpi-Release/include/ohnet/OpenHome/Net/Core -I../dependencies/Linux-rpi/ohNet-Linux-rpi-Release/include/ohnet -c ControlPointProxy.cpp -o raspbian/objs/ControlPointProxy.o
ControlPointProxy.cpp: In constructor ‘OpenHome::Av::ControlPointProxy::CPReceiver::CPReceiver(OpenHome::Net::CpDeviceDv&)’:
ControlPointProxy.cpp:396:66: error: invalid use of incomplete type ‘class OpenHome::Net::CpProxyAvOpenhomeOrgReceiver1’
iReceiverProxy = new CpProxyAvOpenhomeOrgReceiver1(*iCpPlayer);
^
In file included from ControlPointProxy.cpp:23:0:
ControlPointProxy.h:19:11: error: forward declaration of ‘class OpenHome::Net::CpProxyAvOpenhomeOrgReceiver1’
class CpProxyAvOpenhomeOrgReceiver1;
^
ControlPointProxy.cpp:403:19: error: invalid use of incomplete type ‘class OpenHome::Net::CpProxyAvOpenhomeOrgReceiver1’
iReceiverProxy->SetPropertyTransportStateChanged(iTransportStateChanged);
^
In file included from ControlPointProxy.cpp:23:0:
ControlPointProxy.h:19:11: error: forward declaration of ‘class OpenHome::Net::CpProxyAvOpenhomeOrgReceiver1’
class CpProxyAvOpenhomeOrgReceiver1;
^
ControlPointProxy.cpp:406:19: error: invalid use of incomplete type ‘class OpenHome::Net::CpProxyAvOpenhomeOrgReceiver1’
iReceiverProxy->Subscribe();
^
In file included from ControlPointProxy.cpp:23:0:
ControlPointProxy.h:19:11: error: forward declaration of ‘class OpenHome::Net::CpProxyAvOpenhomeOrgReceiver1’
class CpProxyAvOpenhomeOrgReceiver1;
^
ControlPointProxy.cpp: In destructor ‘OpenHome::Av::ControlPointProxy::CPReceiver::~CPReceiver()’:
ControlPointProxy.cpp:414:23: error: invalid use of incomplete type ‘class OpenHome::Net::CpProxyAvOpenhomeOrgReceiver1’
iReceiverProxy->Unsubscribe();
^
In file included from ControlPointProxy.cpp:23:0:
ControlPointProxy.h:19:11: error: forward declaration of ‘class OpenHome::Net::CpProxyAvOpenhomeOrgReceiver1’
class CpProxyAvOpenhomeOrgReceiver1;
^
ControlPointProxy.cpp:416:16: warning: possible problem detected in invocation of delete operator: [enabled by default]
delete iReceiverProxy;
^
ControlPointProxy.cpp:416:16: warning: invalid use of incomplete type ‘class OpenHome::Net::CpProxyAvOpenhomeOrgReceiver1’ [enabled by default]
In file included from ControlPointProxy.cpp:23:0:
ControlPointProxy.h:19:11: warning: forward declaration of ‘class OpenHome::Net::CpProxyAvOpenhomeOrgReceiver1’ [enabled by default]
class CpProxyAvOpenhomeOrgReceiver1;
^
ControlPointProxy.cpp:416:16: note: neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined
delete iReceiverProxy;
^
ControlPointProxy.cpp: In member function ‘void OpenHome::Av::ControlPointProxy::CPReceiver::transportChangedEvent()’:
ControlPointProxy.cpp:437:23: error: invalid use of incomplete type ‘class OpenHome::Net::CpProxyAvOpenhomeOrgReceiver1’
iReceiverProxy->PropertyTransportState(state);
^
In file included from ControlPointProxy.cpp:23:0:
ControlPointProxy.h:19:11: error: forward declaration of ‘class OpenHome::Net::CpProxyAvOpenhomeOrgReceiver1’
class CpProxyAvOpenhomeOrgReceiver1;
^
ControlPointProxy.cpp: In member function ‘void OpenHome::Av::ControlPointProxy::CPReceiver::receiverStop()’:
ControlPointProxy.cpp:491:23: error: invalid use of incomplete type ‘class OpenHome::Net::CpProxyAvOpenhomeOrgReceiver1’
iReceiverProxy->PropertyTransportState(state);
^
In file included from ControlPointProxy.cpp:23:0:
ControlPointProxy.h:19:11: error: forward declaration of ‘class OpenHome::Net::CpProxyAvOpenhomeOrgReceiver1’
class CpProxyAvOpenhomeOrgReceiver1;
^
ControlPointProxy.cpp:497:27: error: invalid use of incomplete type ‘class OpenHome::Net::CpProxyAvOpenhomeOrgReceiver1’
iReceiverProxy->SyncStop();
^
In file included from ControlPointProxy.cpp:23:0:
ControlPointProxy.h:19:11: error: forward declaration of ‘class OpenHome::Net::CpProxyAvOpenhomeOrgReceiver1’
class CpProxyAvOpenhomeOrgReceiver1;
^
ControlPointProxy.cpp: In member function ‘void OpenHome::Av::ControlPointProxy::CPReceiver::receiverPlay()’:
ControlPointProxy.cpp:508:23: error: invalid use of incomplete type ‘class OpenHome::Net::CpProxyAvOpenhomeOrgReceiver1’
iReceiverProxy->PropertyTransportState(state);
^
In file included from ControlPointProxy.cpp:23:0:
ControlPointProxy.h:19:11: error: forward declaration of ‘class OpenHome::Net::CpProxyAvOpenhomeOrgReceiver1’
class CpProxyAvOpenhomeOrgReceiver1;
^
ControlPointProxy.cpp:514:27: error: invalid use of incomplete type ‘class OpenHome::Net::CpProxyAvOpenhomeOrgReceiver1’
iReceiverProxy->SyncPlay();
^
In file included from ControlPointProxy.cpp:23:0:
ControlPointProxy.h:19:11: error: forward declaration of ‘class OpenHome::Net::CpProxyAvOpenhomeOrgReceiver1’
class CpProxyAvOpenhomeOrgReceiver1;
^
ControlPointProxy.cpp: In constructor ‘OpenHome::Av::ControlPointProxy::CPUpnpAv::CPUpnpAv(OpenHome::Net::CpDeviceDv&, OpenHome::Media::PipelineManager&)’:
ControlPointProxy.cpp:529:61: error: invalid use of incomplete type ‘class OpenHome::Net::CpProxyUpnpOrgAVTransport1’
iUpnpAvProxy = new CpProxyUpnpOrgAVTransport1(*iCpPlayer);
^
In file included from ControlPointProxy.cpp:23:0:
ControlPointProxy.h:21:11: error: forward declaration of ‘class OpenHome::Net::CpProxyUpnpOrgAVTransport1’
class CpProxyUpnpOrgAVTransport1;
^
ControlPointProxy.cpp:535:17: error: invalid use of incomplete type ‘class OpenHome::Net::CpProxyUpnpOrgAVTransport1’
iUpnpAvProxy->Subscribe();
^
In file included from ControlPointProxy.cpp:23:0:
ControlPointProxy.h:21:11: error: forward declaration of ‘class OpenHome::Net::CpProxyUpnpOrgAVTransport1’
class CpProxyUpnpOrgAVTransport1;
^
ControlPointProxy.cpp: In destructor ‘virtual OpenHome::Av::ControlPointProxy::CPUpnpAv::~CPUpnpAv()’:
ControlPointProxy.cpp:543:21: error: invalid use of incomplete type ‘class OpenHome::Net::CpProxyUpnpOrgAVTransport1’
iUpnpAvProxy->Unsubscribe();
^
In file included from ControlPointProxy.cpp:23:0:
ControlPointProxy.h:21:11: error: forward declaration of ‘class OpenHome::Net::CpProxyUpnpOrgAVTransport1’
class CpProxyUpnpOrgAVTransport1;
^
ControlPointProxy.cpp:545:16: warning: possible problem detected in invocation of delete operator: [enabled by default]
delete iUpnpAvProxy;
^
ControlPointProxy.cpp:545:16: warning: invalid use of incomplete type ‘class OpenHome::Net::CpProxyUpnpOrgAVTransport1’ [enabled by default]
In file included from ControlPointProxy.cpp:23:0:
ControlPointProxy.h:21:11: warning: forward declaration of ‘class OpenHome::Net::CpProxyUpnpOrgAVTransport1’ [enabled by default]
class CpProxyUpnpOrgAVTransport1;
^
ControlPointProxy.cpp:545:16: note: neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined
delete iUpnpAvProxy;
^
ControlPointProxy.cpp: In member function ‘void OpenHome::Av::ControlPointProxy::CPUpnpAv::pipelineChangedEvent()’:
ControlPointProxy.cpp:567:21: error: invalid use of incomplete type ‘class OpenHome::Net::CpProxyUpnpOrgAVTransport1’
iUpnpAvProxy->SyncGetTransportInfo(0, state, dummy, dummy);
^
In file included from ControlPointProxy.cpp:23:0:
ControlPointProxy.h:21:11: error: forward declaration of ‘class OpenHome::Net::CpProxyUpnpOrgAVTransport1’
class CpProxyUpnpOrgAVTransport1;
^
ControlPointProxy.cpp: In member function ‘void OpenHome::Av::ControlPointProxy::CPUpnpAv::upnpAvStop()’:
ControlPointProxy.cpp:629:21: error: invalid use of incomplete type ‘class OpenHome::Net::CpProxyUpnpOrgAVTransport1’
iUpnpAvProxy->SyncGetTransportInfo(0, state, dummy, dummy);
^
In file included from ControlPointProxy.cpp:23:0:
ControlPointProxy.h:21:11: error: forward declaration of ‘class OpenHome::Net::CpProxyUpnpOrgAVTransport1’
class CpProxyUpnpOrgAVTransport1;
^
ControlPointProxy.cpp:635:25: error: invalid use of incomplete type ‘class OpenHome::Net::CpProxyUpnpOrgAVTransport1’
iUpnpAvProxy->SyncStop(0);
^
In file included from ControlPointProxy.cpp:23:0:
ControlPointProxy.h:21:11: error: forward declaration of ‘class OpenHome::Net::CpProxyUpnpOrgAVTransport1’
class CpProxyUpnpOrgAVTransport1;
^
ControlPointProxy.cpp: In member function ‘void OpenHome::Av::ControlPointProxy::CPUpnpAv::upnpAvPlay()’:
ControlPointProxy.cpp:647:21: error: invalid use of incomplete type ‘class OpenHome::Net::CpProxyUpnpOrgAVTransport1’
iUpnpAvProxy->SyncGetTransportInfo(0, state, dummy, dummy);
^
In file included from ControlPointProxy.cpp:23:0:
ControlPointProxy.h:21:11: error: forward declaration of ‘class OpenHome::Net::CpProxyUpnpOrgAVTransport1’
class CpProxyUpnpOrgAVTransport1;
^
ControlPointProxy.cpp:653:25: error: invalid use of incomplete type ‘class OpenHome::Net::CpProxyUpnpOrgAVTransport1’
iUpnpAvProxy->SyncPlay(0, Brn("1"));
^
In file included from ControlPointProxy.cpp:23:0:
ControlPointProxy.h:21:11: error: forward declaration of ‘class OpenHome::Net::CpProxyUpnpOrgAVTransport1’
class CpProxyUpnpOrgAVTransport1;
^
ControlPointProxy.cpp: In member function ‘void OpenHome::Av::ControlPointProxy::CPUpnpAv::upnpAvPause()’:
ControlPointProxy.cpp:665:21: error: invalid use of incomplete type ‘class OpenHome::Net::CpProxyUpnpOrgAVTransport1’
iUpnpAvProxy->SyncGetTransportInfo(0, state, dummy, dummy);
^
In file included from ControlPointProxy.cpp:23:0:
ControlPointProxy.h:21:11: error: forward declaration of ‘class OpenHome::Net::CpProxyUpnpOrgAVTransport1’
class CpProxyUpnpOrgAVTransport1;
^
ControlPointProxy.cpp:671:25: error: invalid use of incomplete type ‘class OpenHome::Net::CpProxyUpnpOrgAVTransport1’
iUpnpAvProxy->SyncPause(0);
^
In file included from ControlPointProxy.cpp:23:0:
ControlPointProxy.h:21:11: error: forward declaration of ‘class OpenHome::Net::CpProxyUpnpOrgAVTransport1’
class CpProxyUpnpOrgAVTransport1;
^
ControlPointProxy.cpp: In constructor ‘OpenHome::Av::ControlPointProxy::CPProduct::CPProduct(OpenHome::Net::CpDeviceDv&, OpenHome::Av::ControlPointProxy&)’:
ControlPointProxy.cpp:715:64: error: invalid use of incomplete type ‘class OpenHome::Net::CpProxyAvOpenhomeOrgProduct2’
iProductProxy = new CpProxyAvOpenhomeOrgProduct2(*iCpPlayer);
^
In file included from ControlPointProxy.cpp:23:0:
ControlPointProxy.h:20:11: error: forward declaration of ‘class OpenHome::Net::CpProxyAvOpenhomeOrgProduct2’
class CpProxyAvOpenhomeOrgProduct2;
^
ControlPointProxy.cpp:722:18: error: invalid use of incomplete type ‘class OpenHome::Net::CpProxyAvOpenhomeOrgProduct2’
iProductProxy->SetPropertySourceIndexChanged(iFuncSourceIndexChanged);
^
In file included from ControlPointProxy.cpp:23:0:
ControlPointProxy.h:20:11: error: forward declaration of ‘class OpenHome::Net::CpProxyAvOpenhomeOrgProduct2’
class CpProxyAvOpenhomeOrgProduct2;
^
ControlPointProxy.cpp:725:18: error: invalid use of incomplete type ‘class OpenHome::Net::CpProxyAvOpenhomeOrgProduct2’
iProductProxy->Subscribe();
^
In file included from ControlPointProxy.cpp:23:0:
ControlPointProxy.h:20:11: error: forward declaration of ‘class OpenHome::Net::CpProxyAvOpenhomeOrgProduct2’
class CpProxyAvOpenhomeOrgProduct2;
^
ControlPointProxy.cpp: In destructor ‘OpenHome::Av::ControlPointProxy::CPProduct::CPProduct()’:# cat /etc/os-release
ControlPointProxy.cpp:733:22: error: invalid use of incomplete type ‘class OpenHome::Net::CpProxyAvOpenhomeOrgProduct2’
iProductProxy->Unsubscribe();
^
In file included from ControlPointProxy.cpp:23:0:
ControlPointProxy.h:20:11: error: forward declaration of ‘class OpenHome::Net::CpProxyAvOpenhomeOrgProduct2’
class CpProxyAvOpenhomeOrgProduct2;
^
ControlPointProxy.cpp:735:16: warning: possible problem detected in invocation of delete operator: [enabled by default]
delete iProductProxy;
^
ControlPointProxy.cpp:735:16: warning: invalid use of incomplete type ‘class OpenHome::Net::CpProxyAvOpenhomeOrgProduct2’ [enabled by default]
In file included from ControlPointProxy.cpp:23:0:
ControlPointProxy.h:20:11: warning: forward declaration of ‘class OpenHome::Net::CpProxyAvOpenhomeOrgProduct2’ [enabled by default]
class CpProxyAvOpenhomeOrgProduct2;
^
ControlPointProxy.cpp:735:16: note: neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined
delete iProductProxy;
^
ControlPointProxy.cpp: In member function ‘void OpenHome::Av::ControlPointProxy::CPProduct::sourceIndexChangedEvent()’:
ControlPointProxy.cpp:814:18: error: invalid use of incomplete type ‘class OpenHome::Net::CpProxyAvOpenhomeOrgProduct2’
iProductProxy->PropertySourceIndex(index);
^
In file included from ControlPointProxy.cpp:23:0:
ControlPointProxy.h:20:11: error: forward declaration of ‘class OpenHome::Net::CpProxyAvOpenhomeOrgProduct2’
class CpProxyAvOpenhomeOrgProduct2;
^
ControlPointProxy.cpp:817:18: error: invalid use of incomplete type ‘class OpenHome::Net::CpProxyAvOpenhomeOrgProduct2’
iProductProxy->PropertySourceXml(sourceXml);
^
In file included from ControlPointProxy.cpp:23:0:
ControlPointProxy.h:20:11: error: forward declaration of ‘class OpenHome::Net::CpProxyAvOpenhomeOrgProduct2’
class CpProxyAvOpenhomeOrgProduct2;
^
Makefile.raspbian:115: recipe for target 'raspbian/objs/ControlPointProxy.o' failed
make[1]: *** [raspbian/objs/ControlPointProxy.o] Error 1
make[1]: Leaving directory '/tmp/ohPlayer/ohPlayer/linux'
Makefile:28: recipe for target 'raspbian' failed
make: *** [raspbian] Error 2
root@raspberrypi:
PRETTY_NAME="Raspbian GNU/Linux 8 (jessie)"
NAME="Raspbian GNU/Linux"
VERSION_ID="8"
VERSION="8 (jessie)"
Running ./go fetch --all
fails:
ohPlayer ) ./go fetch --all
Fetching 'ohMediaPlayer'
from 'http://PC868.linn.co.uk/mirror.openhome.org/releases/artifacts/ohMediaPlayer/ohMediaPlayer-1.43.486-Linux-x64-Release.tar.gz'
.... not found on mirror
Fetching 'ohMediaPlayer'
from 'http://builds.openhome.org/releases/artifacts/ohMediaPlayer/ohMediaPlayer-1.43.486-Linux-x64-Release.tar.gz'
**** WARNING - failed to fetch http://builds.openhome.org/releases/artifacts/ohMediaPlayer/ohMediaPlayer-1.43.486-Linux-x64-Release.tar.gz ****
Fetching 'ohNet'
from 'http://PC868.linn.co.uk/mirror.openhome.org/releases/artifacts/ohNet/ohNet-1.7.2233-Linux-x64-Release.tar.gz'
.... not found on mirror
Fetching 'ohNet'
from 'http://builds.openhome.org/releases/artifacts/ohNet/ohNet-1.7.2233-Linux-x64-Release.tar.gz' (web)
unpacking to '/home/joerg/Development/git/ohPlayer/dependencies/Linux-x64'
OK
Fetching 'ohWafHelpers'
from 'http://PC868.linn.co.uk/mirror.openhome.org/releases/artifacts/ohWafHelpers/ohWafHelpers-0.0.95.tar.gz'
.... not found on mirror
Fetching 'ohWafHelpers'
from 'http://builds.openhome.org/releases/artifacts/ohWafHelpers/ohWafHelpers-0.0.95.tar.gz' (web)
unpacking to '/home/joerg/Development/git/ohPlayer/dependencies/AnyPlatform'
OK
Fetching 'openssl'
from 'http://PC868.linn.co.uk/mirror.openhome.org/releases/artifacts/openssl/openssl-0.2.61-Linux-x64-Release.tar.bz2'
.... not found on mirror
Fetching 'openssl'
from 'http://builds.openhome.org/releases/artifacts/openssl/openssl-0.2.61-Linux-x64-Release.tar.bz2' (web)
unpacking to '/home/joerg/Development/git/ohPlayer/dependencies/Linux-x64'
OK
Fetching 'ohNetGenerated'
from 'http://PC868.linn.co.uk/mirror.openhome.org/releases/artifacts/ohNetGenerated/ohNetGenerated-1.0.100-Linux-x64-Release.tar.gz'
.... not found on mirror
Fetching 'ohNetGenerated'
from 'http://builds.openhome.org/releases/artifacts/ohNetGenerated/ohNetGenerated-1.0.100-Linux-x64-Release.tar.gz' (web)
unpacking to '/home/joerg/Development/git/ohPlayer/dependencies/Linux-x64'
OK
Failed to fetch some dependencies: ohMediaPlayer
Failed to load requested dependencies
Could you improve compilation on other Raspberry Pi distribution as for example Arch Arm Linux, or could you give binaries instead of self-installer .sh script only for Raspbian?
There are some bugs in Libav.cpp with the new Debian buster. I fixed a lot of them.
How can I create a pull request I only get
remote: Permission to openhome/ohPlayer.git denied to AndreHro.
fatal: unable to access 'https://github.com/openhome/ohPlayer/': The requested URL returned error: 403
Under Debian buster you have to fix MakeRelease.pl
Unimplemented: POSIX::tmpnam(): use File::Temp instead at /usr/lib/arm-linux-gnueabihf/perl/5.28/POSIX.pm line 185.
Unimplemented: POSIX::tmpnam() at ./MakeRelease.pl line 13.
BEGIN failed--compilation aborted at ./MakeRelease.pl line 13.
I think you have to replace line 13 with use File::Temp qw(tmpnam);
Hi,
I am failing to run 'go fetch --all' successfully - see error message below. Any help would be highly appreciated.
Axel
C:\OpenHome\ohPlayer>go fetch --all --debug
ERROR: No AWS credentials, and unable to fetch them (need connection to Linn HQ network)
ERROR: No AWS credentials, and unable to fetch them (need connection to Linn HQ network)
Fetching 'ohNet'
from AWS s3://linn-artifacts-public/artifacts/ohNet/ohNet-1.31.4245-Windows-x86-Debug.tar.gz
FETCH: Unable to retrieve s3://linn-artifacts-public/artifacts/ohNet/ohNet-1.31.4245-Windows-x86-Debug.tar.gz from AWS
There may be trouble building on modern systems as a result. Ubuntu 22.04, for example. It's my understanding that libswresample is supposed to be used now.
Hey, I have successfully installed openhome-player on my Raspberry Pi 3B+. Using it standalone works like a charm. Later on I installed Raspotify (https://github.com/dtcooper/raspotify) and that gave me some trouble. Actually It seems to come down to one property of the openhome-player. It seems to sets the volume (PCM in my case) to zero when (1) it is started and (2) playback is stopped, muting the output from Raspotify making it necessary to set the volume manually to a non-zero value.
Therefore my question is: It is possible to change that behavior to make the oh-player not change the volume? Or is there any workaround?
I installed ohPlayer headless on my Raspberry Pi model B rev 1:
pi@raspberrypi:~/ohdevtools $ uname -a Linux raspberrypi 4.1.19+ #858 Tue Mar 15 15:52:03 GMT 2016 armv6l GNU/Linux
It's a armv6l. Please add 'armv6l' to default_platform.py in ohdevtools.
Thanks.
I used the dependencies matching ohNet 1.30.4077. When I compile the ohplayer, I get the following error related to ExampleMediaplayer which is due to the NewTidal login procedure:
ExampleMediaPlayer.cpp: In member function ‘void OpenHome::Av::ExampleMediaPlayer::RegisterPlugins(OpenHome::Environment&)’:
ExampleMediaPlayer.cpp:331:58: error: no matching function for call to ‘OpenHome::Media::ProtocolFactory::NewTidal(OpenHome::Environment&, OpenHome::SslContext&, OpenHome::Brn, OpenHome::Av::MediaPlayer&)’
iMediaPlayer));
^
ExampleMediaPlayer.cpp:331:58: note: candidate is:
In file included from ExampleMediaPlayer.cpp:6:0:
../dependencies/Linux-armhf/ohMediaPlayer/include/OpenHome/Media/Protocol/ProtocolFactory.h:39:22: note: static OpenHome::Media::Protocol OpenHome::Media::ProtocolFactory::NewTidal(OpenHome::Environment&, OpenHome::SslContext&, const OpenHome::Brx&, const OpenHome::Brx&, const OpenHome::Brx&, std::vectorOpenHome::OAuthAppDetails&, OpenHome::Av::IMediaPlayer&)
static Protocol* NewTidal(Environment& aEnv, SslContext& aSsl, const Brx& aPartnerId, const Brx& aClientId, const Brx& aClientSecret, std::vector& aAppDetails, Av::IMediaPlayer& aMediaPlayer);
^
../dependencies/Linux-armhf/ohMediaPlayer/include/OpenHome/Media/Protocol/ProtocolFactory.h:39:22: note: candidate expects 7 arguments, 4 provided
Makefile.armhf:115: recipe for target 'raspbian/objs/ExampleMediaPlayer.o' failed
make[1]: *** [raspbian/objs/ExampleMediaPlayer.o] Error 1
make[1]: Leaving directory '/home/pi/ohPlayer/linux'
Makefile:28: recipe for target 'raspbian' failed
make: *** [raspbian] Error 2
Thus, it would be great to update the ExampleMediaplayer for the New Tidal login protocol.
Hello,
I am trying install ohPlayer in ubuntu, however I got this error
"OpenHome/Private/Converter.h ->No such file or directory"
I cannot also find the Converter header file in your repository.
May I request if you could share the solution in this case.
Thanks,
Benson
in the ENABLE_QOBUZ part
line 336 should read *iMediaplayer));
instead of *iMediaplayer)),
When I compile ohplayer 1.32 on an RPI, I get the several errors:
make -f Makefile.raspbian
make[1]: Entering directory '/home/dietpi/ohPlayer/linux'
g++ -c -Wall -std=c++0x -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -DTARG_ARCH=Linux-armhf -fstack-protector -fstack-check -DDEFINE_LITTLE_ENDIAN -I../dependencies/Linux-armhf/ohMediaPlayer/include -I../dependencies/Linux-armhf/ohNetmon/include -I../dependencies/Linux-armhf/openssl/include -I../dependencies/Linux-armhf/ohNetGenerated-Linux-armhf-Release/include/ohnet/OpenHome/Net/Core -I../dependencies/Linux-armhf/ohNet-Linux-armhf-Release/include/ohnet -c ConfigGTKKeyStore.cpp -o raspbian/objs/ConfigGTKKeyStore.o
g++ -c -Wall -std=c++0x -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -DTARG_ARCH=Linux-armhf -fstack-protector -fstack-check -DDEFINE_LITTLE_ENDIAN -I../dependencies/Linux-armhf/ohMediaPlayer/include -I../dependencies/Linux-armhf/ohNetmon/include -I../dependencies/Linux-armhf/openssl/include -I../dependencies/Linux-armhf/ohNetGenerated-Linux-armhf-Release/include/ohnet/OpenHome/Net/Core -I../dependencies/Linux-armhf/ohNet-Linux-armhf-Release/include/ohnet -c RamStore.cpp -o raspbian/objs/RamStore.o
g++ -c -Wall -std=c++0x -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -DTARG_ARCH=Linux-armhf -fstack-protector -fstack-check -DDEFINE_LITTLE_ENDIAN -I../dependencies/Linux-armhf/ohMediaPlayer/include -I../dependencies/Linux-armhf/ohNetmon/include -I../dependencies/Linux-armhf/openssl/include -I../dependencies/Linux-armhf/ohNetGenerated-Linux-armhf-Release/include/ohnet/OpenHome/Net/Core -I../dependencies/Linux-armhf/ohNet-Linux-armhf-Release/include/ohnet -c Libav.cpp -o raspbian/objs/Libav.o
g++ -c -Wall -std=c++0x -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -DTARG_ARCH=Linux-armhf -fstack-protector -fstack-check -DDEFINE_LITTLE_ENDIAN -I../dependencies/Linux-armhf/ohMediaPlayer/include -I../dependencies/Linux-armhf/ohNetmon/include -I../dependencies/Linux-armhf/openssl/include -I../dependencies/Linux-armhf/ohNetGenerated-Linux-armhf-Release/include/ohnet/OpenHome/Net/Core -I../dependencies/Linux-armhf/ohNet-Linux-armhf-Release/include/ohnet -c Volume.cpp -o raspbian/objs/Volume.o
g++ -c -Wall -std=c++0x -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabihf/glib-2.0/include -DTARG_ARCH=Linux-armhf -fstack-protector -fstack-check -DDEFINE_LITTLE_ENDIAN -I../dependencies/Linux-armhf/ohMediaPlayer/include -I../dependencies/Linux-armhf/ohNetmon/include -I../dependencies/Linux-armhf/openssl/include -I../dependencies/Linux-armhf/ohNetGenerated-Linux-armhf-Release/include/ohnet/OpenHome/Net/Core -I../dependencies/Linux-armhf/ohNet-Linux-armhf-Release/include/ohnet -c ExampleMediaPlayer.cpp -o raspbian/objs/ExampleMediaPlayer.o
In file included from ExampleMediaPlayer.cpp:25:
ExampleMediaPlayer.h: In function ‘OpenHome::TBool OpenHome::Av::CompareIPv6Addrs(TIpAddress, TIpAddress)’:
ExampleMediaPlayer.h:55:38: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
&& memcmp((TByte*)addr1.iV6[0], (TByte*)addr2.iV6[0], 16) == 0;
^
ExampleMediaPlayer.h:55:60: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
&& memcmp((TByte*)addr1.iV6[0], (TByte*)addr2.iV6[0], 16) == 0;
^
ExampleMediaPlayer.cpp: In member function ‘void OpenHome::Av::ExampleMediaPlayer::RegisterPlugins(OpenHome::Environment&)’:
ExampleMediaPlayer.cpp:331:58: error: no matching function for call to ‘OpenHome::Media::ProtocolFactory::NewTidal(OpenHome::Environment&, OpenHome::Brn, OpenHome::Av::MediaPlayer&)’
iMediaPlayer));
^
In file included from ExampleMediaPlayer.cpp:6:
../dependencies/Linux-armhf/ohMediaPlayer/include/OpenHome/Media/Protocol/ProtocolFactory.h:39:22: note: candidate: ‘static OpenHome::Media::Protocol OpenHome::Media::ProtocolFactory::NewTidal(OpenHome::Environment&, OpenHome::SslContext&, const OpenHome::Brx&, const OpenHome::Brx&, const OpenHome::Brx&, std::vectorOpenHome::OAuthAppDetails&, OpenHome::Av::IMediaPlayer&)’
static Protocol* NewTidal(Environment& aEnv, SslContext& aSsl, const Brx& aPartnerId, const Brx& aClientId, const Brx& aClientSecret, std::vector& aAppDetails, Av::IMediaPlayer& aMediaPlayer);
^~~~~~~~
../dependencies/Linux-armhf/ohMediaPlayer/include/OpenHome/Media/Protocol/ProtocolFactory.h:39:22: note: candidate expects 7 arguments, 3 provided
make[1]: *** [Makefile.raspbian:115: raspbian/objs/ExampleMediaPlayer.o] Error 1
make[1]: Leaving directory '/home/dietpi/ohPlayer/linux'
make: *** [Makefile:28: raspbian] Error 2
Any help would be greatly appreciated.
Best regards
Dieter
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.