28 #ifndef OPAL_OPAL_PCSS_H
29 #define OPAL_OPAL_PCSS_H
40 #include <ptlib/sound.h>
46 #define OPAL_PCSS_PREFIX "pc"
102 const PString & party,
103 void * userData = NULL,
104 unsigned options = 0,
140 const PString & indication
149 PVideoInputDevice * & device,
162 const PString & playDevice,
163 const PString & recordDevice,
185 const PString & device
198 const PString & token,
199 PSafetyMode mode = PSafeReadWrite
200 ) {
return GetConnectionWithLockAs<OpalPCSSConnection>(token, mode); }
219 const PString & connectionToken
227 const PString & connectionToken,
247 const PString & indication
415 P_REMOVE_VIRTUAL(PSoundChannel *,CreateSoundChannel(const OpalPCSSConnection&,const OpalMediaFormat&,const PString&,
bool),NULL);
423 PCLASSINFO(OpalPCSSConnection, OpalLocalConnection);
432 const PString & playDevice,
433 const PString & recordDevice,
434 unsigned options = 0,
440 ~OpalPCSSConnection();
465 virtual void OnApplyStringOptions();
477 virtual PBoolean SetAlerting(
478 const PString & calleeName,
488 virtual bool TransferConnection(
489 const PString & remoteParty
516 const OpalMediaFormat & mediaFormat,
525 virtual void OnStartMediaPatch(
532 virtual PBoolean SetAudioVolume(
540 virtual PBoolean GetAudioVolume(
542 unsigned & percentage
547 virtual bool SetAudioMute(
554 virtual bool GetAudioMute(
562 virtual unsigned GetAudioSignalLevel(
570 virtual void AlertingIncoming(
571 bool withMedia =
false
576 virtual void AcceptIncoming();
584 const OpalMediaFormat & mediaFormat,
591 virtual bool ChangeSoundChannel(
592 const PString & device,
594 unsigned sessionID = 0
596 virtual bool ChangeSoundChannel(
597 const PString & device,
598 OpalAudioMediaStream * stream
605 bool StartReadUserInput(
607 bool autoDelete =
true
613 void StopReadUserInput();
692 void UserInputMain();
694 P_REMOVE_VIRTUAL(PSoundChannel *,
CreateSoundChannel(
const OpalMediaFormat&,PBoolean),NULL);
699 #define OPAL_PCSS_PREFIX
701 #endif // OPAL_HAS_PCSS
703 #endif // OPAL_OPAL_PCSS_H
PThread * m_ringbackThread
Definition: pcss.h:685
PVideoDevice::OpenArgs m_videoOnRingDevice
Definition: pcss.h:682
Definition: manager.h:150
unsigned m_soundChannelBuffers
Definition: pcss.h:678
virtual PBoolean SetSoundChannelRecordDevice(const PString &name)
virtual bool CreateVideoInputDevice(const OpalConnection &connection, const OpalMediaFormat &mediaFormat, PVideoInputDevice *&device, bool &autoDelete)
unsigned m_soundChannelBufferTime
Definition: pcss.h:406
bool m_userInputAutoDelete
Definition: pcss.h:691
PString m_soundChannelOnRingDevice
Definition: pcss.h:404
PVideoDevice::OpenArgs m_videoOnHoldDevice
Definition: pcss.h:408
unsigned m_soundChannelBufferTime
Definition: pcss.h:679
const PVideoDevice::OpenArgs & GetVideoInputDevice(OpalVideoFormat::ContentRole role=OpalVideoFormat::eNoRole) const
Definition: manager.h:1866
virtual PSoundChannel * CreateSoundChannel(const OpalPCSSConnection &connection, const OpalMediaFormat &mediaFormat, unsigned sessionID, bool isSource)
void SetSoundChannelBufferTime(unsigned depth)
const PString & GetSoundChannelRecordDevice() const
Definition: pcss.h:633
const PVideoDevice::OpenArgs & GetVideoOutputDevice(OpalVideoFormat::ContentRole role=OpalVideoFormat::eNoRole) const
Definition: manager.h:1904
virtual bool SetVideoDisplayDevice(const PVideoDevice::OpenArgs &args)
Definition: localep.h:469
virtual bool SetVideoPreviewDevice(const PVideoDevice::OpenArgs &args)
OpalPCSSEndPoint & m_endpoint
Definition: pcss.h:672
virtual bool OnOutgoingCall(const OpalLocalConnection &connection)
PSyncPoint m_ringbackStop
Definition: pcss.h:686
unsigned GetSoundChannelBufferTime() const
Definition: pcss.h:388
virtual bool OnIncomingCall(OpalLocalConnection &connection)
const PVideoDevice::OpenArgs & GetVideoOnRingDevice() const
Definition: pcss.h:654
PString m_soundChannelOnRingDevice
Definition: pcss.h:677
const PString & GetSoundChannelOnHoldDevice() const
Definition: pcss.h:638
virtual PBoolean RejectIncomingConnection(const PString &connectionToken, const OpalConnection::CallEndReason &reason=OpalConnection::EndedByAnswerDenied)
virtual PBoolean OnShowIncoming(const OpalPCSSConnection &connection)
const PString & GetSoundChannelRecordDevice() const
Definition: pcss.h:298
virtual OpalPCSSConnection * CreateConnection(OpalCall &call, const PString &playDevice, const PString &recordDevice, void *userData, unsigned options, OpalConnection::StringOptions *stringOptions)
PString m_localRingbackTone
Definition: pcss.h:400
virtual bool SetSoundChannelOnRingDevice(const PString &name)
const PVideoDevice::OpenArgs & GetVideoOnHoldDevice() const
Definition: pcss.h:649
const PVideoDevice::OpenArgs & GetVideoOnHoldDevice() const
Definition: pcss.h:357
bool SetLocalRingbackTone(const PString &tone)
const PString & GetSoundChannelOnHoldDevice() const
Definition: pcss.h:311
OpalPCSSEndPoint(OpalManager &manager, const char *prefix=OPAL_PCSS_PREFIX)
const PString & GetLocalRingbackTone() const
Definition: pcss.h:268
virtual PBoolean OnShowOutgoing(const OpalPCSSConnection &connection)
Definition: connection.h:530
const PVideoDevice::OpenArgs & GetVideoPreviewDevice(OpalVideoFormat::ContentRole role=OpalVideoFormat::eNoRole) const
Definition: manager.h:1885
virtual void OnHold(OpalConnection &connection, bool fromRemote, bool onHold)
#define OPAL_PCSS_PREFIX
Definition: pcss.h:46
PString m_localRingbackTone
Definition: pcss.h:673
unsigned GetSoundChannelBufferDepth() const
Definition: pcss.h:661
PSafePtr< OpalPCSSConnection > GetPCSSConnectionWithLock(const PString &token, PSafetyMode mode=PSafeReadWrite)
Definition: pcss.h:197
const PVideoDevice::OpenArgs & GetVideoOnRingDevice() const
Definition: pcss.h:367
PString m_soundChannelRecordDevice
Definition: pcss.h:675
void SetSoundChannelBufferDepth(unsigned depth)
unsigned m_soundChannelBuffers
Definition: pcss.h:405
const PString & GetSoundChannelOnRingDevice() const
Definition: pcss.h:322
const PVideoDevice::OpenArgs & GetVideoDisplayDevice() const
Definition: pcss.h:347
PString m_soundChannelOnHoldDevice
Definition: pcss.h:676
const PVideoDevice::OpenArgs & GetVideoPreviewDevice() const
Definition: pcss.h:339
PVideoDevice::OpenArgs m_videoOnHoldDevice
Definition: pcss.h:681
virtual void OnReleased(OpalConnection &connection)
OpalManager & GetManager() const
Definition: endpoint.h:839
virtual PBoolean AcceptIncomingConnection(const PString &connectionToken)
PChannel * m_userInputChannel
Definition: pcss.h:690
PThread * m_userInputThread
Definition: pcss.h:689
const PString & GetSoundChannelOnRingDevice() const
Definition: pcss.h:643
virtual PBoolean OnShowUserInput(const OpalPCSSConnection &connection, const PString &indication)
virtual bool SetVideoGrabberDevice(const PVideoDevice::OpenArgs &args)
PVideoDevice::OpenArgs m_videoOnRingDevice
Definition: pcss.h:409
Definition: connection.h:462
PString m_soundChannelRecordDevice
Definition: pcss.h:402
const PString & GetSoundChannelPlayDevice() const
Definition: pcss.h:283
virtual PBoolean SetSoundChannelPlayDevice(const PString &name)
virtual bool SetVideoOnRingDevice(const PVideoDevice::OpenArgs &args)
PString m_soundChannelOnHoldDevice
Definition: pcss.h:403
unsigned GetSoundChannelBufferDepth() const
Definition: pcss.h:374
PString m_soundChannelPlayDevice
Definition: pcss.h:674
Definition: connection.h:415
const PString & GetLocalRingbackTone() const
Definition: pcss.h:621
const PString & GetSoundChannelPlayDevice() const
Definition: pcss.h:627
PString m_soundChannelPlayDevice
Definition: pcss.h:401
virtual PSafePtr< OpalConnection > MakeConnection(OpalCall &call, const PString &party, void *userData=NULL, unsigned options=0, OpalConnection::StringOptions *stringOptions=NULL)
unsigned GetSoundChannelBufferTime() const
Definition: pcss.h:667
const PVideoDevice::OpenArgs & GetVideoGrabberDevice() const
Definition: pcss.h:331
virtual bool SetSoundChannelOnHoldDevice(const PString &name)
virtual bool SetVideoOnHoldDevice(const PVideoDevice::OpenArgs &args)
virtual bool OnUserInput(const OpalLocalConnection &connection, const PString &indication)