MistServer  2.5.3-Pro-19-gf5e75b1 ( Generic_64)
output_rtsp.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "output.h"
4 #include <mist/socket.h>
5 #include <mist/rtp.h>
6 #include <mist/http_parser.h>
7 
8 namespace Mist {
10  class trackmeta {
11  public:
13  rtcpSent = 0;
14  channel = 0;
15  UDP = false;
16  initSent = false;
17  }
21  long long rtcpSent;
22  int channel;
23  bool UDP;
24  bool initSent;
25  };
26 
27  class OutRTSP : public Output {
28  public:
29  OutRTSP(Socket::Connection & myConn);
30  static void init(Util::Config * cfg);
31  void sendNext();
32  void onRequest();
33  private:
34  void handleDescribe();
35  void handleSetup();
36  void handlePlay();
37  void handlePause();
38 
39  long long connectedAt;
40  std::map<int, trackmeta> tracks;
41  unsigned int seekpoint;
42  unsigned int pausepoint;
44  };
45 }
46 
Definition: socket.h:123
RTP::Packet rtpPacket
Definition: output_rtsp.h:20
long long rtcpSent
The RTP packet instance used for this track.
Definition: output_rtsp.h:21
Recording to file.
Definition: input.cpp:13
Mist::OutRTSP mistOut
Definition: output_rtsp.h:47
trackmeta()
Definition: output_rtsp.h:12
This class is used to make RTP packets. Currently, H264, and AAC are supported. RTP mechanisms...
Definition: rtp.h:24
int channel
Definition: output_rtsp.h:22
Simple class for reading and writing HTTP 1.0 and 1.1.
Definition: http_parser.h:14
The output class is intended to be inherited by MistOut process classes.
Definition: output.h:41
Socket::UDPConnection data
Definition: output_rtsp.h:18
Deals with parsing configuration from commandline options.
Definition: config.h:18
unsigned int pausepoint
Position to pause at, when reached.
Definition: output_rtsp.h:42
Definition: output_rtsp.h:27
bool UDP
Channel number, used in TCP sending.
Definition: output_rtsp.h:23
function init(plot)
Definition: jquery.flot.time.min.js:1
unsigned int seekpoint
Current play position.
Definition: output_rtsp.h:41
long long connectedAt
The timestamp the connection was made, as reference point for RTCP packets.
Definition: output_rtsp.h:39
Socket::UDPConnection rtcp
Definition: output_rtsp.h:19
bool initSent
True if sending over UDP, false otherwise.
Definition: output_rtsp.h:24
std::map< int, trackmeta > tracks
List of selected tracks with RTSP-specific session data.
Definition: output_rtsp.h:40
HTTP::Parser HTTP_S
Definition: output_rtsp.h:43
This class is for easy communicating through sockets, either TCP or Unix.
Definition: socket.h:47
Structure used to keep track of selected tracks.
Definition: output_rtsp.h:10