Skip to content
Snippets Groups Projects
Select Git revision
  • e234460797e6b8c749fb918dce61d42c20a7fbe8
  • master default protected
  • develop protected
  • feature/asio-profile
  • ti_lab_build
  • mbe
  • asio_stream_debugging_tools
  • ba_2016_heimes
  • jst
  • fabian
  • ITADataSources_v2024a
  • VA_v2023b
  • VA_v2023a
  • VA_v2022a
  • before_cmake_rework
  • v2021.a
  • v2020.a
  • v2019.a
  • v2018.b
  • v2018.a
  • v2017.d
  • v2017.c
  • v2017.b
  • good_after_refactoring
  • first_good_running_netaudio
  • v2017.a
  • v2016.a
27 results

ITANetAudioClient.h

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    ITANetAudioClient.h 1.57 KiB
    /*
     * ----------------------------------------------------------------
     *
     *		ITA core libs
     *		(c) Copyright Institute of Technical Acoustics (ITA)
     *		RWTH Aachen University, Germany, 2015-2016
     *
     * ----------------------------------------------------------------
     *				    ____  __________  _______
     *				   //  / //__   ___/ //  _   |
     *				  //  /    //  /    //  /_|  |
     *				 //  /    //  /    //  ___   |
     *				//__/    //__/    //__/   |__|
     *
     * ----------------------------------------------------------------
     *
     */
    
    #ifndef INCLUDE_WATCHER_ITA_NET_AUDIO_CONNECTION
    #define INCLUDE_WATCHER_ITA_NET_AUDIO_CONNECTION
    
    #include <ITADataSourcesDefinitions.h>
    
    #include <ITADataSource.h>
    #include <ITASampleFrame.h>
    
    #include <VistaInterProcComm/Concurrency/VistaThreadLoop.h>
    
    #include <string>
    #include <vector>
    
    class CITANetAudioMessage;
    class CITANetAudioProtocol;
    class CITANetAudioStream;
    
    class VistaConnectionIP;
    
    class CITANetAudioClient : public VistaThreadLoop
    {
    public:
    
    	//! Create an network audio client that feeds into a network audio stream
    	/**
    	  * \param pParent ITADataSource-compatible audio stream
    	  */
    	CITANetAudioClient( CITANetAudioStream* pParent );
    	~CITANetAudioClient();
    
    	bool Connect( const std::string& sAddress, int iPort );
    	void Disconnect();
    	bool GetIsConnected() const;
    
    	bool LoopBody();
    
    private:
    	CITANetAudioStream* m_pParent;
    
    	VistaConnectionIP* m_pConnection;
    	CITANetAudioProtocol* m_pProtocol;
    	CITANetAudioMessage* m_pMessage;
    
    	ITASampleFrame m_sfReceivingBuffer;
    	bool m_bStopIndicated;
    };
    
    #endif // INCLUDE_WATCHER_ITA_NET_AUDIO_CONNECTION