2 Copyright 2004-2005 Chris Tallon
4 This file is part of VOMP.
6 VOMP is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
11 VOMP is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with VOMP; if not, write to the Free Software
18 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
29 #include <unistd.h> // sleep
31 #ifndef VOMPSTANDALONE
32 #include <vdr/recording.h>
33 #include <vdr/channels.h>
34 #include <vdr/videodir.h>
35 #include <vdr/plugin.h>
36 #include <vdr/timers.h>
38 #include "recplayer.h"
39 #include "mvpreceiver.h"
53 MVPClient(Config* baseConfig, char* configDir, int tsocket);
57 // not for external use
59 static int getNrClients();
62 static int nr_clients;
74 #ifndef VOMPSTANDALONE
76 cRecordings* recordingManager;
80 int processLogin(UCHAR* buffer, int length, ResponsePacket* rp);
81 #ifndef VOMPSTANDALONE
82 int processGetRecordingsList(UCHAR* data, int length, ResponsePacket* rp);
83 int processDeleteRecording(UCHAR* data, int length, ResponsePacket* rp);
84 int processMoveRecording(UCHAR* data, int length, ResponsePacket* rp);
85 int processGetChannelsList(UCHAR* data, int length, ResponsePacket* rp);
86 int processStartStreamingChannel(UCHAR* data, int length, ULONG streamID, ResponsePacket* rp);
87 int processGetBlock(UCHAR* data, int length, ResponsePacket* rp);
88 int processStopStreaming(UCHAR* data, int length, ResponsePacket* rp);
89 int processStartStreamingRecording(UCHAR* data, int length, ResponsePacket* rp);
90 int processGetChannelSchedule(UCHAR* data, int length, ResponsePacket* rp);
91 int processGetTimers(UCHAR* data, int length, ResponsePacket* rp);
92 int processSetTimer(UCHAR* data, int length, ResponsePacket* rp);
93 int processPositionFromFrameNumber(UCHAR* data, int length, ResponsePacket* rp);
94 int processFrameNumberFromPosition(UCHAR* data, int length, ResponsePacket* rp);
95 int processGetIFrame(UCHAR* data, int length, ResponsePacket* rp);
96 int processGetRecInfo(UCHAR* data, int length, ResponsePacket* rp);
97 int processGetMarks(UCHAR* data, int length, ResponsePacket* rp);
98 int processGetChannelPids(UCHAR* data, int length, ResponsePacket* rp);
99 int processDeleteTimer(UCHAR* buffer, int length, ResponsePacket* rp);
101 int processReScanRecording(UCHAR* data, int length, ResponsePacket* rp); // FIXME obselete
103 int processConfigSave(UCHAR* data, int length, ResponsePacket* rp);
104 int processConfigLoad(UCHAR* data, int length, ResponsePacket* rp);
105 int processGetMediaList(UCHAR* data, int length, ResponsePacket* rp);
106 int processGetPicture(UCHAR* data, int length, ResponsePacket* rp);
107 int processGetImageBlock(UCHAR* data, int length, ResponsePacket* rp);
108 int processGetLanguageList(UCHAR* data, int length, ResponsePacket* rp);
109 int processGetLanguageContent(UCHAR* data, int length, ResponsePacket* rp);
114 #ifndef VOMPSTANDALONE
115 cChannel* channelFromNumber(ULONG channelNumber);
116 void writeResumeData();
119 void sendULONG(ULONG ul);
121 ULLONG ntohll(ULLONG a);
122 ULLONG htonll(ULLONG a);