### Build and Install MPlayer Source: http://www.live555.com/mplayer Standard build and installation commands for MPlayer. ```bash make ; make install ``` -------------------------------- ### BitVector Setup Source: http://www.live555.com/liveMedia/doxygen/html/MP3Internals_8hh_source.html Initializes the BitVector object with a pointer to the byte array, an offset for the starting bit, and the total number of bits to manage. This prepares the BitVector for reading or writing. ```cpp void setup(unsigned char *baseBytePtr, unsigned baseBitOffset, unsigned totNumBits); ``` -------------------------------- ### QuickTimeFileSink::startPlaying Source: http://www.live555.com/liveMedia/doxygen/html/QuickTimeFileSink_8hh_source.html Starts the recording process for the QuickTimeFileSink. ```APIDOC ## Boolean QuickTimeFileSink::startPlaying ### Description Initiates the recording of the media session. ### Parameters #### Request Body - **afterFunc** (afterPlayingFunc*) - Required - Callback function to be called after playing finishes. - **afterClientData** (void*) - Required - Client data to be passed to the callback function. ### Response #### Success Response (200) - **Boolean** - Returns True if the recording started successfully, False otherwise. ``` -------------------------------- ### QuickTimeFileSink::startPlaying Source: http://www.live555.com/liveMedia/doxygen/html/QuickTimeFileSink_8hh_source.html Starts the recording process for the QuickTimeFileSink. ```APIDOC ## QuickTimeFileSink::startPlaying ### Description Initiates the recording of the media session into the specified file. ### Parameters - **afterFunc** (afterPlayingFunc*) - Required - Callback function to be called when recording finishes. - **afterClientData** (void*) - Required - Client data to pass to the callback function. ### Response - **Boolean** - Returns True if the recording started successfully, False otherwise. ``` -------------------------------- ### Remote Control Example Source: http://www.live555.com/liveGateForIntranets/configuration.html Example workflow for connecting to the remote control interface and executing a relay command. ```text liveGate_createRemoteControl 8888 ``` ```text telnet 8888 ``` ```text liveGate_startRelaying 224.44.44.44 66666 63 ``` -------------------------------- ### Public Member Function: startPlaying Source: http://www.live555.com/liveMedia/doxygen/html/classAVIFileSink.html Starts the recording process for the AVIFileSink. ```APIDOC ## Boolean startPlaying ### Description Initiates the recording process for the AVIFileSink. ### Parameters - **afterFunc** (afterPlayingFunc*) - Required - Callback function to execute after playing finishes. - **afterClientData** (void*) - Required - Client data to pass to the callback function. ``` -------------------------------- ### setupHTTPTunneling1 Source: http://www.live555.com/liveMedia/doxygen/html/classProxyRTSPClient.html Initiates HTTP tunneling setup (part 1). ```APIDOC ## setupHTTPTunneling1() ### Description Initiates the setup for HTTP tunneling. ### Method POST or PUT (implied, as it initiates a setup) ### Endpoint Not specified. ### Parameters None ### Request Example None ### Response #### Success Response (200) - **Boolean** - Indicates success or failure. #### Response Example None ``` -------------------------------- ### setupHTTPTunneling2 Source: http://www.live555.com/liveMedia/doxygen/html/classProxyRTSPClient.html Completes HTTP tunneling setup (part 2). ```APIDOC ## setupHTTPTunneling2() ### Description Completes the setup for HTTP tunneling. ### Method POST or PUT (implied, as it completes a setup) ### Endpoint Not specified. ### Parameters None ### Request Example None ### Response #### Success Response (200) - **Boolean** - Indicates success or failure. #### Response Example None ``` -------------------------------- ### startNetworkReading() Source: http://www.live555.com/liveMedia/doxygen/html/classRTPInterface.html Starts network reading. ```APIDOC ## startNetworkReading() ### Description Starts the process of reading data from the network. ### Method void ### Endpoint N/A (Class method) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example None ### Response None ``` -------------------------------- ### Setup BitVector for MP3 Frame Source: http://www.live555.com/liveMedia/doxygen/html/classMP3FrameParams.html Initializes the BitVector for an MP3 frame using the provided frame data and total number of bytes. This is typically called during the setup phase. ```cpp bv.setup((unsigned char*)restOfFrame, 0, 8*totNumBytes); ``` -------------------------------- ### MediaSession::playStartTime, MediaSubsession::playStartTime Source: http://www.live555.com/liveMedia/doxygen/html/functions_func_p.html Gets the scheduled start time for playback of a media session or subsession. ```APIDOC ## MediaSession::playStartTime, MediaSubsession::playStartTime ### Description Gets the scheduled start time for playback of a media session or subsession. ### Method Not specified (likely internal or part of a class method) ### Endpoint Not applicable ### Parameters None explicitly documented. ### Response Returns the play start time. ``` -------------------------------- ### RTSPClient::sendSetupCommand Source: http://www.live555.com/liveMedia/doxygen/html/classRTSPRegisterSender.html Sends a SETUP command to initialize a media subsession. ```APIDOC ## RTSPClient::sendSetupCommand ### Description Sends a SETUP command to the server to prepare a subsession for streaming. ### Parameters - **subsession** (MediaSubsession&) - Required - The subsession to set up. - **responseHandler** (responseHandler*) - Required - Callback for the response. - **streamOutgoing** (Boolean) - Optional - Whether the stream is outgoing. - **streamUsingTCP** (Boolean) - Optional - Whether to use TCP for streaming. - **forceMulticastOnUnspecified** (Boolean) - Optional - Force multicast if not specified. - **authenticator** (Authenticator*) - Optional - Authentication credentials. ``` -------------------------------- ### Get Vorbis/Theora Configuration Data Source: http://www.live555.com/liveMedia/doxygen/html/classMatroskaFile.html Retrieves identification, comment, and setup header data for Vorbis or Theora tracks. This is a private method. ```C++ void MatroskaFile::getVorbisOrTheoraConfigData ( MatroskaTrack const * _track_ , u_int8_t *& _identificationHeader_ , unsigned & _identificationHeaderSize_ , u_int8_t *& _commentHeader_ , unsigned & _commentHeaderSize_ , u_int8_t *& _setupHeader_ , unsigned & _setupHeaderSize_ ) ``` -------------------------------- ### sendSetupCommand Source: http://www.live555.com/liveMedia/doxygen/html/RTSPClient_8hh_source.html Issues a RTSP "SETUP" command for a given media subsession. Optional parameters allow streaming outgoing data, using TCP, and forcing multicast. ```APIDOC ## sendSetupCommand ### Description Issues a RTSP "SETUP" command, then returns the "CSeq" sequence number that was used in the command. The "responseHandler" and "authenticator" parameters are as described for "sendDescribeCommand". ### Parameters - **subsession** (MediaSubsession&) - Required - The media subsession to set up. - **responseHandler** (responseHandler*) - Required - The handler function to process the response. - **streamOutgoing** (Boolean) - Optional - If true, stream outgoing data. - **streamUsingTCP** (Boolean) - Optional - If true, use TCP for streaming. - **forceMulticastOnUnspecified** (Boolean) - Optional - If true, force multicast if not specified. - **authenticator** (Authenticator*) - Optional - An Authenticator object for access control. ``` -------------------------------- ### HashTable numEntries Method Source: http://www.live555.com/liveMedia/doxygen/html/classHashTable.html Pure virtual function to get the number of entries. Must be implemented by derived classes. Example usage is in BasicHashTable. ```c++ virtual unsigned numEntries () const =0 ``` -------------------------------- ### Configure and Build on Windows (Cygwin) Source: http://www.live555.com/liveMedia Steps to configure and build the LIVE555 project on Windows using Cygwin. This involves navigating to the 'live' directory, generating Makefiles for Cygwin, and then running 'make'. ```bash cd live ./genMakefiles cygwin make ``` -------------------------------- ### Get Vorbis/Theora Configuration Data Source: http://www.live555.com/liveMedia/doxygen/html/MatroskaFile_8hh_source.html Retrieves identification, comment, and setup headers for Vorbis or Theora tracks. The returned buffers must be deleted by the caller. ```cpp void getVorbisOrTheoraConfigData(MatroskaTrack const* track, u_int8_t*& identificationHeader, unsigned& identificationHeaderSize, u_int8_t*& commentHeader, unsigned& commentHeaderSize, u_int8_t*& setupHeader, unsigned& setupHeaderSize); ``` -------------------------------- ### startPlaying() Method Source: http://www.live555.com/liveMedia/doxygen/html/classAMRAudioFileSink.html Initiates playback of the media source. ```APIDOC ## startPlaying() ### Description Starts the process of playing the media source. ### Method Boolean (MediaSink::startPlaying) ### Endpoint N/A ### Parameters - **_source_** (MediaSource &) - The media source to play. - **_afterFunc_** (afterPlayingFunc *) - A function to call after playing is finished. - **_afterClientData_** (void *) - Client data to pass to the afterFunc. ### Request Body None ### Response #### Success Response (200) - **Boolean** (Boolean) - Indicates if playback started successfully. ### Response Example ```json { "startedPlaying": true } ``` ``` -------------------------------- ### BitVector::setup() Source: http://www.live555.com/liveMedia/doxygen/html/classBitVector.html Initializes the BitVector with a base byte pointer, bit offset, and total number of bits. ```APIDOC ## setup() ### Description Initializes the BitVector with a base byte pointer, bit offset, and total number of bits. ### Method void ### Parameters #### Path Parameters - **_baseBytePtr** (unsigned char *) - Description not available - **_baseBitOffset** (unsigned) - Description not available - **_totNumBits** (unsigned) - Description not available ### Referenced by MP3FrameParams::setBytePointer() ``` -------------------------------- ### Get Current Pointer - curPtr() Source: http://www.live555.com/liveMedia/doxygen/html/classOutPacketBuffer.html Returns a pointer to the current position within the buffer where data can be written or read. It calculates the address based on the buffer's start and the current offset. ```cpp inline { return &fBuf[fPacketStart + fCurOffset]; } ``` -------------------------------- ### Start Playing Media Source: http://www.live555.com/liveMedia/doxygen/html/AVIFileSink_8hh_source.html Initiates the playback process and sets a callback function to be executed after playback is complete. Also takes client data for the callback. ```cpp Boolean startPlaying(afterPlayingFunc *afterFunc, void *afterClientData); ``` -------------------------------- ### RawVideoRTPSink::frameCanAppearAfterPacketStart Source: http://www.live555.com/liveMedia/doxygen/html/classRawVideoRTPSink.html Checks if a frame can start after the packet start for RawVideoRTPSink. ```APIDOC ## frameCanAppearAfterPacketStart() ### Description Checks if a frame can start after the packet start for `RawVideoRTPSink`. This method is intended to be overridden by subclasses. ### Method `virtual Boolean RawVideoRTPSink::frameCanAppearAfterPacketStart(unsigned char const * _frameStart_, unsigned _numBytesInFrame_) const ### Parameters * **_frameStart_** (unsigned char const *) - Pointer to the start of the frame data. * **_numBytesInFrame_** (unsigned) - The number of bytes in the frame. ### Response * Returns `True` if the frame can appear after the packet start, `False` otherwise. ### Note Reimplemented from `MultiFramedRTPSink`. ``` -------------------------------- ### Get Playing Duration Source: http://www.live555.com/liveMedia/doxygen/html/MPEG2TransportStreamIndexFile_8hh_source.html Gets the total playing duration of the indexed stream. ```APIDOC ## getPlayingDuration ### Description Gets the total playing duration of the indexed stream. ### Method `float` ### Parameters None ### Response #### Success Response (200) - **float** - The total playing duration in seconds. ``` -------------------------------- ### setUpOurSocket Source: http://www.live555.com/liveMedia/doxygen/html/classRTSPServerWithREGISTERProxying.html Initializes and sets up a network socket for the media server. ```APIDOC ## setUpOurSocket() ### Description Initializes and sets up a network socket for the media server. ### Signature `static int GenericMediaServer::setUpOurSocket(UsageEnvironment & _env_, Port & _ourPort_, int _domain_)` ### Parameters - **_env_** (UsageEnvironment &) - The usage environment. - **_ourPort_** (Port &) - The port to bind the socket to. - **_domain_** (int) - The network domain (e.g., AF_INET for IPv4). ``` -------------------------------- ### Retrieve Start NPT Source: http://www.live555.com/liveMedia/doxygen/html/classStreamState.html Returns the start Normal Play Time (NPT) value. ```cpp 210{ return fStartNPT; } ``` -------------------------------- ### VP8VideoRTPSink::frameCanAppearAfterPacketStart Source: http://www.live555.com/liveMedia/doxygen/html/VP8VideoRTPSink_8hh_source.html Determines if a frame can start immediately after the current packet's start. ```APIDOC ## VP8VideoRTPSink::frameCanAppearAfterPacketStart ### Description Determines if a frame can start immediately after the current packet's start. This is used to optimize packetization. ### Method `virtual Boolean frameCanAppearAfterPacketStart(unsigned char const* frameStart, unsigned numBytesInFrame) const` ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) - **Boolean**: Returns `true` if the frame can start after the packet start, `false` otherwise. #### Response Example None ``` -------------------------------- ### H263plusVideoRTPSink::frameCanAppearAfterPacketStart Source: http://www.live555.com/liveMedia/doxygen/html/H263plusVideoRTPSink_8hh_source.html Determines if a frame can logically start after a given packet start position. ```APIDOC ## H263plusVideoRTPSink::frameCanAppearAfterPacketStart ### Description This method checks if a given frame, starting at `frameStart` with `numBytesInFrame` bytes, can logically begin after the specified packet start position. This is useful for packetization logic. ### Method `virtual Boolean frameCanAppearAfterPacketStart(unsigned char const* frameStart, unsigned numBytesInFrame) const` ### Endpoint N/A (Method) ### Parameters #### Path Parameters N/A #### Query Parameters N/A #### Request Body N/A ### Request Example N/A ### Response #### Success Response (200) - **Boolean**: Returns `true` if the frame can appear after the packet start, `false` otherwise. #### Response Example N/A ``` -------------------------------- ### MediaSink::startPlaying() Source: http://www.live555.com/liveMedia/doxygen/html/classAC3AudioRTPSink.html Initiates the playback of media data from a source. ```APIDOC ## MediaSink::startPlaying() ### Description Starts the process of playing media data from a given `MediaSource`. It takes a callback function and client data to be used after playback is completed. ### Method `Boolean startPlaying(MediaSource &source, afterPlayingFunc *afterFunc, void *afterClientData)` ### Endpoint N/A (Method within a class) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example None ### Response #### Success Response (200) - **started** (Boolean) - Returns true if playback was successfully started, false otherwise. #### Response Example None ``` -------------------------------- ### startPlaying Source: http://www.live555.com/liveMedia/doxygen/html/classH264VideoRTPSink.html Initiates the playing process for the media sink. ```APIDOC ## Boolean MediaSink::startPlaying ### Description Starts the media sink playing from the specified source. ### Parameters - **source** (MediaSource &) - Required - The source to play from. - **afterFunc** (afterPlayingFunc *) - Required - Callback function to call after playing finishes. - **afterClientData** (void *) - Required - Client data for the after function. ``` -------------------------------- ### Check for new file start in ByteStreamMultiFileSource Source: http://www.live555.com/liveMedia/doxygen/html/classByteStreamMultiFileSource.html Returns the current state of the file start flag. ```cpp 37{ return fHaveStartedNewFile; } ``` -------------------------------- ### initializeWithSDP() Source: http://www.live555.com/liveMedia/doxygen/html/classMediaSession.html Initializes the MediaSession with a given SDP description. ```APIDOC ## initializeWithSDP() ### Description Initializes the MediaSession with a given SDP description. ### Method POST (Implicit) ### Endpoint N/A (Method within a class) ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **_sdpDescription_** (char const *) - The SDP description string. ### Request Example None ### Response #### Success Response (200) - **Boolean**: Indicates success or failure of initialization. ``` -------------------------------- ### getNextFrame() - FramedSource Source: http://www.live555.com/liveMedia/doxygen/html/classSimpleRTPSource.html Gets the next frame of data. Requires callback functions for after getting and closing. ```APIDOC ## getNextFrame() ### Description Gets the next frame of data. Requires callback functions for after getting and closing. ### Method N/A (Function signature provided) ### Endpoint N/A (C++ function) ### Parameters #### Path Parameters N/A #### Query Parameters N/A #### Request Body N/A ### Request Example N/A ### Response #### Success Response (200) - **void** #### Response Example N/A ``` -------------------------------- ### FramedSource Stop Getting Frames Source: http://www.live555.com/liveMedia/doxygen/html/classMPEG4ESVideoRTPSource.html Stops the process of getting frames for a FramedSource. This method is inherited. ```cpp void FramedSource::stopGettingFrames ( ) ``` -------------------------------- ### BitVector::setup() Source: http://www.live555.com/liveMedia/doxygen/html/classBitVector.html Configures the bit vector with a new base byte pointer, bit offset, and total number of bits. ```APIDOC ## BitVector::setup() ### Description Reconfigures the bit vector to operate on a different memory region or with different bit parameters. ### Method SETUP ### Endpoint N/A (Member function) ### Parameters * **baseBytePtr** (unsigned char *) - Pointer to the new base byte array. * **baseBitOffset** (unsigned) - The new starting bit offset within the base byte. * **totNumBits** (unsigned) - The new total number of bits in the bit vector. ``` -------------------------------- ### Do Get Next Frame 1 - MultiFramedRTPSource Source: http://www.live555.com/liveMedia/doxygen/html/classMPEG4GenericRTPSource.html Private function to get the next frame. Inherited. ```cpp void MultiFramedRTPSource::doGetNextFrame1() ``` -------------------------------- ### Configure Cross-Development Environment Source: http://www.live555.com/Elphel Use genMakefiles to set up the cross-development environment for building the LIVE555 Streaming Media libraries on a cris-axis-linux-gnu system. ```bash genMakefiles cris-axis-linux-gnu ``` -------------------------------- ### RTSPClient::handleSETUPResponse Source: http://www.live555.com/liveMedia/doxygen/html/classRTSPRegisterSender.html Handles the response received from a SETUP request in an RTSP session. ```APIDOC ## RTSPClient::handleSETUPResponse ### Description Processes the response to a SETUP request, configuring the subsession transport. ### Parameters #### Request Body - **subsession** (MediaSubsession &) - Required - The media subsession to configure. - **sessionParamsStr** (char const *) - Required - Session parameters string. - **transportParamsStr** (char const *) - Required - Transport parameters string. - **streamUsingTCP** (Boolean) - Required - Flag indicating if the stream should use TCP. ### Response #### Success Response (200) - **Boolean** - Returns True if the setup response was handled successfully. ``` -------------------------------- ### Get MIME Type Source: http://www.live555.com/liveMedia/doxygen/html/classMPEG1or2VideoStreamFramer.html Protected virtual method to get the MIME type. Reimplemented from MediaSource. ```cpp virtual char const * FramedFilter::MIMEtype ( ) const ``` -------------------------------- ### Get MIME Type for OggDemuxedTrack Source: http://www.live555.com/liveMedia/doxygen/html/classOggDemuxedTrack.html Virtual function to get the MIME type of the OggDemuxedTrack. Reimplemented from MediaSource. ```cpp virtual char const * OggDemuxedTrack::MIMEtype() const ``` -------------------------------- ### BasicUsageEnvironment0 Methods Source: http://www.live555.com/liveMedia/doxygen/html/classBasicUsageEnvironment0.html Documentation for methods specific to the BasicUsageEnvironment0 class. ```APIDOC ## BasicUsageEnvironment0::reportBackgroundError() ### Description Reports a background error encountered by the environment. ### Method virtual void ### Endpoint N/A (Class method) ### Parameters None ### Request Example N/A ### Response None ``` ```APIDOC ## BasicUsageEnvironment0::reset() ### Description Resets the state of the BasicUsageEnvironment0. ### Method void ### Endpoint N/A (Class method) ### Parameters None ### Request Example N/A ### Response None ``` ```APIDOC ## BasicUsageEnvironment0::setResultErrMsg() ### Description Sets the result error message and error code. ### Method virtual void ### Endpoint N/A (Class method) ### Parameters - **_msg_** (MsgString) - The error message string. - **_err_** (int) - The error code (defaults to 0). ### Request Example N/A ### Response None ``` ```APIDOC ## BasicUsageEnvironment0::setResultMsg() ### Description Sets the result message. Overloaded to accept one, two, or three MsgString arguments. ### Method virtual void ### Endpoint N/A (Class method) ### Parameters - **_msg_** (MsgString) - The first message string. - **_msg1_** (MsgString) - The first message string. - **_msg2_** (MsgString) - The second message string. - **_msg3_** (MsgString) - The third message string. ### Request Example N/A ### Response None ``` -------------------------------- ### Do Stop Getting Frames - MultiFramedRTPSource Source: http://www.live555.com/liveMedia/doxygen/html/classMPEG4GenericRTPSource.html Protected virtual function to stop getting frames. Reimplemented from FramedSource. ```cpp virtual void MultiFramedRTPSource::doStopGettingFrames() ``` -------------------------------- ### AVIFileSink::startPlaying() Source: http://www.live555.com/liveMedia/doxygen/html/classAVIFileSink.html Initiates playback for the AVI file sink. ```APIDOC ## AVIFileSink::startPlaying() ### Description Initiates playback for the AVI file sink, with a callback function upon completion. ### Method Boolean startPlaying (afterPlayingFunc * _afterFunc, void * _afterClientData) ### Endpoint N/A (Method within a class) ### Parameters - **_afterFunc** (afterPlayingFunc *) - Callback function to be called after playing. - **_afterClientData** (void *) - Client data to be passed to the callback function. ### Request Body None ### Response - **Boolean**: Indicates success or failure of starting playback. ### Response Example N/A (Method call) ``` -------------------------------- ### Do Get Next Frame - MultiFramedRTPSource Source: http://www.live555.com/liveMedia/doxygen/html/classMPEG4GenericRTPSource.html Protected virtual function to get the next frame. Implements FramedSource. ```cpp virtual void MultiFramedRTPSource::doGetNextFrame() ``` -------------------------------- ### Static Public Member Functions Source: http://www.live555.com/liveMedia/doxygen/html/classWAVAudioFileSource.html Provides methods for creating WAVAudioFileSource instances, looking up media sources by name, and handling closures. ```APIDOC ## Static Public Member Functions ### createNew (WAVAudioFileSource) Creates a new WAVAudioFileSource. - **env** (UsageEnvironment &) - The usage environment. - **fileName** (char const *) - The path to the WAV file. ### createNew (AudioInputDevice) Creates a new AudioInputDevice. - **env** (UsageEnvironment &) - The usage environment. - **inputPortNumber** (int) - The input port number. - **bitsPerSample** (unsigned char) - The number of bits per sample. - **numChannels** (unsigned char) - The number of audio channels. - **samplingFrequency** (unsigned) - The sampling frequency. - **granularityInMS** (unsigned) - The granularity in milliseconds (default: 20). ### getPortNames () Retrieves the names of available audio ports. ### lookupByName (FramedSource &) Looks up a FramedSource by its name. - **env** (UsageEnvironment &) - The usage environment. - **sourceName** (char const *) - The name of the source to look up. - **resultSource** (FramedSource *&) - Output parameter for the found FramedSource. ### lookupByName (MediaSource &) Looks up a MediaSource by its name. - **env** (UsageEnvironment &) - The usage environment. - **sourceName** (char const *) - The name of the source to look up. - **resultSource** (MediaSource *&) - Output parameter for the found MediaSource. ### lookupByName (Medium &) Looks up a Medium by its name. - **env** (UsageEnvironment &) - The usage environment. - **mediumName** (char const *) - The name of the medium to look up. - **resultMedium** (Medium *&) - Output parameter for the found Medium. ### handleClosure (void *) Handles the closure of a client. - **clientData** (void *) - Data associated with the client. ### afterGetting (FramedSource *) Callback function invoked after getting a frame. - **source** (FramedSource *) - The source that provided the frame. ### close (UsageEnvironment &, char const *) Closes a medium by its name. - **env** (UsageEnvironment &) - The usage environment. - **mediumName** (char const *) - The name of the medium to close. ### close (Medium *) Closes a medium. - **medium** (Medium *) - The medium to close. ``` -------------------------------- ### Create liveGate Tunnel Configuration Source: http://www.live555.com/liveGateForIntranets/configuration-for-nbx.html Create a 'liveGateInit' file with this command for each remote network to establish a tunnel to the specified IP address. ```bash liveGate_createTunnel __ ``` -------------------------------- ### Allow Fragmentation After Start Source: http://www.live555.com/liveMedia/doxygen/html/classMPEG1or2VideoRTPSink.html Determines if fragmentation is allowed after the stream has started. This is a private, virtual function, reimplemented from MultiFramedRTPSink. ```cpp virtual Boolean MPEG1or2VideoRTPSink::allowFragmentationAfterStart ( ) const privatevirtual Reimplemented from MultiFramedRTPSink. ``` -------------------------------- ### Get Attributes Source: http://www.live555.com/liveMedia/doxygen/html/classMPEG1or2VideoStreamDiscreteFramer.html Protected virtual method reimplemented from MediaSource to get the attributes of a FramedFilter. It is also reimplemented in MP3ADUTranscoder. ```C++ virtual void getAttributes() const ``` -------------------------------- ### Public Member Functions: startPlaying Source: http://www.live555.com/liveMedia/doxygen/html/classQuickTimeFileSink.html Starts the playback or recording process for the sink. ```APIDOC ## Boolean QuickTimeFileSink::startPlaying ### Description Starts the recording process. ### Parameters - **afterFunc** (afterPlayingFunc*) - Required - Callback function to call after playing finishes. - **afterClientData** (void*) - Required - Client data to pass to the callback. ### Response - **Boolean** - Returns True if successful, False otherwise. ``` -------------------------------- ### Get Maximum Frame Size Source: http://www.live555.com/liveMedia/doxygen/html/classMP3ADUinterleaverBase.html Virtual function to get the maximum frame size. Reimplemented in BasicUDPSource and MPEG1or2DemuxedElementaryStream. ```cpp virtual unsigned FramedSource::maxFrameSize () const ``` -------------------------------- ### Get Current Time Source: http://www.live555.com/liveMedia/doxygen/html/DelayQueue_8hh.html Returns the current system time as an _EventTime object. This function is used to get a timestamp. ```c++ _EventTime TimeNow () ``` -------------------------------- ### Start Playing MediaSink Source: http://www.live555.com/liveMedia/doxygen/html/classH264or5VideoRTPSink.html Initiates the playback of a MediaSink, connecting it to a MediaSource and specifying a callback function for when playback finishes. ```cpp Boolean MediaSink::startPlaying(MediaSource & _source_, afterPlayingFunc * _afterFunc_, void * _afterClientData_) ``` -------------------------------- ### Key Functions starting with 'k' Source: http://www.live555.com/liveMedia/doxygen/html/functions_func_k.html Lists key functions in the live555 library whose names start with the letter 'k'. ```APIDOC ## Functions starting with 'k' ### Description This section lists key functions in the live555 library that begin with the letter 'k'. ### Method N/A (Documentation of functions) ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response #### Success Response (200) N/A #### Response Example N/A ## Function Details ### keyData() #### Description Returns the MIKEYState associated with the key. #### Return Type MIKEYState ### keyMatches() #### Description Checks if a key matches an entry in the BasicHashTable. #### Return Type BasicHashTable ### keyMgmtLine() #### Description Processes a key management line for RTPSink. #### Return Type RTPSink ``` -------------------------------- ### Allow Fragmentation After Start Source: http://www.live555.com/liveMedia/doxygen/html/classT140TextRTPSink.html Virtual function to determine if fragmentation is allowed after starting. Protected and inherited, reimplemented in derived classes. ```cpp virtual Boolean MultiFramedRTPSink::allowFragmentationAfterStart() const ``` -------------------------------- ### Configure Statistics Server Source: http://www.live555.com/liveGate/stats.html Command to set the server port and define authorized clients in the liveGateInit file. ```text liveGate_configureStatsServer 1 ... n ``` -------------------------------- ### Start liveGate with a specific debug level Source: http://www.live555.com/liveGate/configuration.html This command-line option allows you to specify the debug level when starting the liveGate server. ```bash liveGate -d 2 ``` -------------------------------- ### MediaSubsession::initiate Source: http://www.live555.com/liveMedia/doxygen/html/MediaSession_8hh_source.html Initializes the media subsession, optionally using a special RTP offset. ```APIDOC ## MediaSubsession::initiate ### Description Initializes the media subsession. This method prepares the subsession for streaming. ### Parameters #### Request Body - **useSpecialRTPoffset** (int) - Optional - An integer offset for RTP, defaults to -1. ### Response #### Success Response (200) - **Boolean** - Returns True if initialization was successful, False otherwise. ``` -------------------------------- ### Get Range SDP Line Source: http://www.live555.com/liveMedia/doxygen/html/classMPEG4VideoFileServerMediaSubsession.html Protected inherited function to get the range SDP line. This is a const function for ServerMediaSubsession. ```cpp char const * ServerMediaSubsession::rangeSDPLine() const ``` -------------------------------- ### Get TS Packet Count Source: http://www.live555.com/liveMedia/doxygen/html/classMPEG2TransportStreamFramer.html Inline function to get the transport stream packet count for MPEG2TransportStreamFramer. Defined in MPEG2TransportStreamFramer.hh. ```C++ u_int64_t MPEG2TransportStreamFramer::tsPacketCount ( ) const { return fTSPacketCount; } ``` -------------------------------- ### MediaSink::startPlaying Source: http://www.live555.com/liveMedia/doxygen/html/classH264VideoFileSink.html Initiates playback by connecting to a MediaSource. This is an inherited function. ```cpp inherited ``` -------------------------------- ### Create H265VideoRTPSink with VPS, SPS, PPS Source: http://www.live555.com/liveMedia/doxygen/html/H265VideoRTPSink_8hh_source.html This variant of createNew allows pre-specifying the VPS, SPS, and PPS NAL units. This can be useful to avoid the sink needing to read these from the input source. ```cpp static H265VideoRTPSink* createNew(UsageEnvironment& env, Groupsock* RTPgs, unsigned char rtpPayloadFormat, u_int8_t const* vps, unsigned vpsSize, u_int8_t const* sps, unsigned spsSize, u_int8_t const* pps, unsigned ppsSize); ``` -------------------------------- ### Get MIME Type Source: http://www.live555.com/liveMedia/doxygen/html/classMPEG2TransportStreamFramer.html Virtual function to get the MIME type of a FramedFilter. This is a protected virtual function inherited from MediaSource. ```C++ virtual char const * FramedFilter::MIMEtype ( ) const ``` -------------------------------- ### Stop Getting Frames Source: http://www.live555.com/liveMedia/doxygen/html/classByteStreamMemoryBufferSource.html Virtual function to stop the process of getting frames from a source. It is protected and can be reimplemented by derived classes. ```cpp virtual void FramedSource::doStopGettingFrames | ( | | ) | ---|---|---|---|--- protectedvirtualinherited ``` -------------------------------- ### Create liveGate for Intranets Tunnel Configuration Source: http://www.live555.com/liveGateForIntranets/configuration-for-nbx.html Create a 'liveGateInit' file with this command to establish a tunnel from the intranet client to the liveGate server's IP address. ```bash liveGate_createTunnel __ ``` -------------------------------- ### Static Method: createNew Source: http://www.live555.com/liveMedia/doxygen/html/classPCMFromuLawAudioSource.html Creates a new instance of the PCMFromuLawAudioSource class. ```APIDOC ## static PCMFromuLawAudioSource* createNew(UsageEnvironment &env, FramedSource *inputSource) ### Description Creates a new PCMFromuLawAudioSource object to convert uLaw audio from the provided input source. ### Parameters #### Request Body - **env** (UsageEnvironment&) - Required - The usage environment for the source. - **inputSource** (FramedSource*) - Required - The source providing uLaw audio data. ### Response #### Success Response (200) - **PCMFromuLawAudioSource*** - A pointer to the newly created audio source instance. ``` -------------------------------- ### Get Current PTS Source: http://www.live555.com/liveMedia/doxygen/html/classMPEG1or2VideoStreamDiscreteFramer.html Private inherited method to get the current presentation timestamp (PTS) for an MPEG-1 or MPEG-2 video stream framer. ```C++ double getCurrentPTS() const ``` -------------------------------- ### Get MIME Type Source: http://www.live555.com/liveMedia/doxygen/html/classMP3ADUinterleaverBase.html Virtual function to get the MIME type of the media. Protected virtual inherited from MediaSource. Reimplemented in ADUFromMP3Source and MP3FromADUSource. ```cpp virtual char const * FramedFilter::MIMEtype () const ``` -------------------------------- ### Start Playing Media Sink Source: http://www.live555.com/liveMedia/doxygen/html/classH265VideoFileSink.html Initiates playback for a MediaSink, connecting it to a MediaSource. Requires a callback function and client data for when playback finishes. ```cpp Boolean MediaSink::startPlaying (MediaSource & _source_ , afterPlayingFunc * _afterFunc_ , void * _afterClientData_ ) ``` -------------------------------- ### AVI File Sink Start Playing Source: http://www.live555.com/liveMedia/doxygen/html/AVIFileSink_8hh_source.html Starts the playback process for the AVI file sink. Requires a callback function to be invoked after playback is complete. ```cpp Boolean startPlaying(afterPlayingFunc* afterFunc, void* afterClientData); ``` -------------------------------- ### static WAVAudioFileServerMediaSubsession::createNew Source: http://www.live555.com/liveMedia/doxygen/html/WAVAudioFileServerMediaSubsession_8hh_source.html Creates a new instance of a WAV audio file server media subsession. ```APIDOC ## static WAVAudioFileServerMediaSubsession::createNew ### Description Creates a new instance of the WAVAudioFileServerMediaSubsession class. ### Parameters #### Request Body - **env** (UsageEnvironment&) - Required - The usage environment for the session. - **fileName** (char const*) - Required - The path to the WAV file. - **reuseFirstSource** (Boolean) - Required - Whether to reuse the first source. - **convertToULaw** (Boolean) - Optional - Whether to convert the audio to u-Law format (default: False). ### Response #### Success Response (200) - **WAVAudioFileServerMediaSubsession*** - A pointer to the newly created subsession object. ``` -------------------------------- ### BasicUsageEnvironment0 Lifecycle and Utilities Source: http://www.live555.com/liveMedia/doxygen/html/BasicUsageEnvironment0_8hh_source.html Methods for initializing, resetting, and reporting errors in the environment. ```APIDOC ## void reset() ### Description Resets the environment state. ## void reportBackgroundError() ### Description Reports an error that occurred in the background task. ## TaskScheduler& taskScheduler() ### Description Returns the task scheduler associated with the environment. ### Response - **return** (TaskScheduler&) - Reference to the task scheduler ``` -------------------------------- ### Check Frame Appearance After Packet Start Source: http://www.live555.com/liveMedia/doxygen/html/classVideoRTPSink.html Determines if a frame can appear after the start of a packet, considering frame data and size. This is a protected virtual const function. ```cpp protected virtual inherited Reimplemented in AC3AudioRTPSink, AMRAudioRTPSink, GSMAudioRTPSink, H263plusVideoRTPSink, H264or5VideoRTPSink, JPEGVideoRTPSink, MPEG1or2VideoRTPSink, MPEG4ESVideoRTPSink, MPEG4GenericRTPSink, MPEG4LATMAudioRTPSink, RawVideoRTPSink, SimpleRTPSink, T140TextRTPSink, TheoraVideoRTPSink, VorbisAudioRTPSink, VP8VideoRTPSink, and VP9VideoRTPSink. ``` -------------------------------- ### Adjust Packet Start Position Source: http://www.live555.com/liveMedia/doxygen/html/classOutPacketBuffer.html Adjusts the starting position of the current packet within the buffer by the specified number of bytes. Useful for modifying packet boundaries. ```cpp void OutPacketBuffer::adjustPacketStart | ( | unsigned | _numBytes_| ) | ---|---|---|---|--- ``` -------------------------------- ### Run wis-streamer Source: http://www.live555.com/wis-streamer Execute the compiled wis-streamer binary to start the streaming server. ```bash ./wis-streamer ``` -------------------------------- ### SRTP Setup Methods Source: http://www.live555.com/liveMedia/doxygen/html/classH265VideoRTPSink.html Methods for configuring Secure Real-time Transport Protocol (SRTP) settings. ```APIDOC ## setupForSRTP ### Description Configures the sink for SRTP usage. Multiple overloads exist for different initialization requirements. ### Parameters - **useEncryption** (Boolean) - Required - Whether to enable encryption. - **roc** (u_int32_t) - Required - Roll-over counter. - **MIKEYStateMessage** (u_int8_t const *) - Required - MIKEY state message data. - **MIKEYStateMessageSize** (unsigned) - Required - Size of the MIKEY message. ``` -------------------------------- ### Check if Frame Can Appear After Packet Start Source: http://www.live555.com/liveMedia/doxygen/html/MultiFramedRTPSink_8hh_source.html Determines if a frame can be placed after the start of an RTP packet. This is useful for controlling frame fragmentation and placement within packets. ```cpp virtual Boolean frameCanAppearAfterPacketStart(unsigned char const* frameStart, unsigned numBytesInFrame) const; ``` -------------------------------- ### SimpleRTPSource Constructors and Creation Source: http://www.live555.com/liveMedia/doxygen/html/SimpleRTPSource_8hh_source.html Details on how to create and initialize a SimpleRTPSource object. ```APIDOC ## SimpleRTPSource Creation and Constructors ### `createNew` Static Factory Method #### Description This static factory method creates and initializes a new `SimpleRTPSource` instance. #### Method `static SimpleRTPSource * createNew(...)` #### Parameters - **env** (UsageEnvironment &) - Required - The usage environment. - **RTPgs** (Groupsock *) - Required - The groupsock for RTP communication. - **rtpPayloadFormat** (unsigned char) - Required - The RTP payload format. - **rtpTimestampFrequency** (unsigned) - Required - The RTP timestamp frequency. - **mimeTypeString** (char const *) - Required - The MIME type string of the payload. - **offset** (unsigned) - Optional - The offset for packet data (default: 0). - **doNormalMBitRule** (Boolean) - Optional - Flag to enable normal M-bit rule (default: True). ### `SimpleRTPSource` Constructor #### Description This is the constructor for the `SimpleRTPSource` class. #### Method `SimpleRTPSource(...)` #### Parameters - **env** (UsageEnvironment &) - Required - The usage environment. - **RTPgs** (Groupsock *) - Required - The groupsock for RTP communication. - **rtpPayloadFormat** (unsigned char) - Required - The RTP payload format. - **rtpTimestampFrequency** (unsigned) - Required - The RTP timestamp frequency. - **mimeTypeString** (char const *) - Required - The MIME type string of the payload. - **offset** (unsigned) - Required - The offset for packet data. - **doNormalMBitRule** (Boolean) - Required - Flag to enable normal M-bit rule. ### `~SimpleRTPSource` Destructor #### Description Virtual destructor for the `SimpleRTPSource` class. #### Method `virtual ~SimpleRTPSource()` ``` -------------------------------- ### BasicUsageEnvironment Class Overview Source: http://www.live555.com/liveMedia/doxygen/html/classBasicUsageEnvironment.html Provides an overview of the BasicUsageEnvironment class, including its inheritance, public member functions, static member functions, and data fields. ```APIDOC ## BasicUsageEnvironment Class ### Description Manages usage environments, including error reporting and message handling. ### Public Member Functions - `getErrno()`: Returns the current error number. - `operator<<`: Overloaded stream insertion operators for various data types. - `getResultMsg()`: Retrieves the current result message. - `setResultMsg()`: Sets the result message. - `setResultErrMsg()`: Sets an error message with an optional error code. - `appendToResultMsg()`: Appends a message to the current result message. - `reportBackgroundError()`: Reports a background error. - `reclaim()`: Reclaims resources. - `taskScheduler()`: Returns the associated TaskScheduler. - `internalError()`: Triggers an internal error. ### Static Public Member Functions - `createNew(TaskScheduler &taskScheduler)`: Creates a new BasicUsageEnvironment instance. ### Data Fields - `liveMediaPriv`: Private data for LiveMedia. - `groupsockPriv`: Private data for groupsock. ### Protected Member Functions - `BasicUsageEnvironment(TaskScheduler &taskScheduler)`: Constructor. - `~BasicUsageEnvironment()`: Destructor. ### Private Member Functions - `reset()`: Resets the environment. ### Private Attributes - `fResultMsgBuffer`: Buffer for storing result messages. - `fCurBufferSize`: Current size of the message buffer. - `fBufferMaxSize`: Maximum size of the message buffer. - `fScheduler`: Reference to the TaskScheduler. ``` -------------------------------- ### MediaSession::initializeWithSDP Source: http://www.live555.com/liveMedia/doxygen/html/MediaSession_8hh_source.html Initializes an existing MediaSession object with an SDP description. ```APIDOC ## Boolean initializeWithSDP(char const *sdpDescription) ### Description Parses and initializes the MediaSession using the provided SDP description. ### Parameters #### Request Body - **sdpDescription** (char const*) - Required - The SDP description string. ### Response - **Boolean** - Returns True if initialization was successful, False otherwise. ``` -------------------------------- ### doStopGettingFrames Source: http://www.live555.com/liveMedia/doxygen/html/classADTSAudioStreamDiscreteFramer.html Stops the process of getting frames. ```APIDOC ## doStopGettingFrames() ### Description Protected virtual function to stop getting frames. Reimplemented from FramedSource. ### Method virtual void ``` -------------------------------- ### resetPacketStart Source: http://www.live555.com/liveMedia/doxygen/html/functions_r.html Resets the packet start marker in an OutPacketBuffer. ```APIDOC ## resetPacketStart ### Description Resets the marker indicating the start of a packet within the output buffer. ### Method (Not specified, likely internal) ### Endpoint (Not applicable) ### Parameters (Not specified) ### Response (Not specified) ``` -------------------------------- ### Setup Stream Socket Source: http://www.live555.com/liveMedia/doxygen/html/GroupsockHelper_8hh.html Initializes a stream socket, optionally in non-blocking mode and with keep-alive enabled. Requires a UsageEnvironment instance and a port number. ```cpp int | setupStreamSocket (UsageEnvironment &env, Port port, int domain, Boolean makeNonBlocking=True, Boolean setKeepAlive=False) ```