32 void initiateEncryption();
33 bool bufferStart(
unsigned long tid,
unsigned long pageNumber,
DTSC::Meta & myMeta);
35 void bufferFinalize(
unsigned long tid,
DTSC::Meta &myMeta);
37 bool isBuffered(
unsigned long tid,
unsigned long keyNum);
38 unsigned long bufferedOnPage(
unsigned long tid,
unsigned long keyNum);
43 std::map<unsigned long, std::map<unsigned long, DTSCPageData> >
pagesByTrack;
48 std::map<unsigned long, unsigned long>
trackMap;
51 std::map<unsigned long, IPC::sharedPage>
curPage;
59 std::map<int,unsigned long long int>
iVecs;
62 void continueNegotiate(
unsigned long tid,
DTSC::Meta & myMeta);
69 bool bufferStart(
unsigned long tid,
unsigned long pageNumber);
72 void bufferFinalize(
unsigned long tid);
73 void bufferRemove(
unsigned long tid,
unsigned long pageNumber);
77 void continueNegotiate(
unsigned long tid);
std::set< unsigned long > selectedTracks
Stores the track id's that are either selected for playback or input.
Definition: io.h:91
Negotiating this track, written metadata.
Definition: io.h:13
negotiationState
Definition: io.h:11
std::map< unsigned long, unsigned long > trackMap
Determines which input track maps onto which "final" track.
Definition: io.h:48
Class containing all basic input and output functions.
Definition: io.h:66
Definition: encryption.h:6
A JSON::Value is either a string or an integer, but may also be an object, array or null...
Definition: json.h:21
std::map< unsigned long, unsigned long > curPageNum
For each track, holds the number page that is currently being written.
Definition: io.h:50
static Util::Config * config
Definition: io.h:82
unsigned long keyNum
The current page number.
Definition: io.h:21
std::map< unsigned long, IPC::sharedPage > metaPages
For each track, holds the page that describes which dataPages are mapped.
Definition: io.h:49
std::map< unsigned long, negotiationState > trackState
State of the negotiation for tracks.
Definition: io.h:47
IPC::sharedPage encryptionPage
Definition: io.h:60
Recording to file.
Definition: input.cpp:13
std::map< unsigned long, IPC::sharedPage > curPage
For each track, holds the page that is currently being written.
Definition: io.h:51
negotiationProxy()
Definition: io.h:31
unsigned long long int curOffset
The current write offset in the page.
Definition: io.h:24
Accepted Track.
Definition: io.h:15
unsigned long lastKeyTime
The last key time encountered on this track.
Definition: io.h:26
DTSCPageData()
Definition: io.h:19
Declined Track.
Definition: io.h:14
unsigned long pageNum
Definition: io.h:20
IPC::sharedClient userClient
Shared memory used for connection to Mixer process.
Definition: io.h:53
Encryption::verimatrixData vmData
Definition: io.h:58
std::string streamName
Definition: io.h:88
The client part of a server/client model for shared memory.
Definition: shared_memory.h:212
Deals with parsing configuration from commandline options.
Definition: config.h:18
std::map< int, unsigned long long int > iVecs
Definition: io.h:59
std::string streamName
Name of the stream to connect to.
Definition: io.h:55
std::map< unsigned long, std::map< unsigned long, DTSCPageData > > pagesByTrack
Holds the data for all pages of a track. Based on unmapped tids.
Definition: io.h:43
unsigned long partNum
The number of parts in this page.
Definition: io.h:22
std::map< unsigned long, unsigned long > trackOffset
Offset of data on user page.
Definition: io.h:46
unsigned long long int firstTime
The first timestamp of the page.
Definition: io.h:25
unsigned long long int dataSize
The full size this page should be.
Definition: io.h:23
bool encrypt
Definition: io.h:57
New track, just sent negotiation request.
Definition: io.h:12
A class for handling shared memory pages.
Definition: shared_memory.h:160
DTSC::Meta myMeta
Stores either the input or output metadata.
Definition: io.h:93
DTSC::Packet thisPacket
Definition: io.h:86
DTSC::Packets can currently be three types: DTSC_HEAD packets are the "DTSC" header string...
Definition: dtsc.h:100
bool standAlone
Definition: io.h:81
negotiationProxy nProxy
Definition: io.h:84