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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 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"
52 MVPClient(Config* baseConfig, char* configDir, int tsocket);
56 // not for external use
58 static int getNrClients();
61 static int nr_clients;
72 #ifndef VOMPSTANDALONE
74 cRecordings* recordingManager;
78 int processLogin(UCHAR* buffer, int length, ResponsePacket* rp);
79 #ifndef VOMPSTANDALONE
80 int processGetRecordingsList(UCHAR* data, int length, ResponsePacket* rp);
81 int processDeleteRecording(UCHAR* data, int length, ResponsePacket* rp);
82 int processMoveRecording(UCHAR* data, int length, ResponsePacket* rp);
83 int processGetChannelsList(UCHAR* data, int length, ResponsePacket* rp);
84 int processStartStreamingChannel(UCHAR* data, int length, ULONG streamID, ResponsePacket* rp);
85 int processGetBlock(UCHAR* data, int length, ResponsePacket* rp);
86 int processStopStreaming(UCHAR* data, int length, ResponsePacket* rp);
87 int processStartStreamingRecording(UCHAR* data, int length, ResponsePacket* rp);
88 int processGetChannelSchedule(UCHAR* data, int length, ResponsePacket* rp);
89 int processGetTimers(UCHAR* data, int length, ResponsePacket* rp);
90 int processSetTimer(UCHAR* data, int length, ResponsePacket* rp);
91 int processPositionFromFrameNumber(UCHAR* data, int length, ResponsePacket* rp);
92 int processFrameNumberFromPosition(UCHAR* data, int length, ResponsePacket* rp);
93 int processGetIFrame(UCHAR* data, int length, ResponsePacket* rp);
94 int processGetRecInfo(UCHAR* data, int length, ResponsePacket* rp);
95 int processGetMarks(UCHAR* data, int length, ResponsePacket* rp);
96 int processGetChannelPids(UCHAR* data, int length, ResponsePacket* rp);
97 int processDeleteTimer(UCHAR* buffer, int length, ResponsePacket* rp);
99 int processReScanRecording(UCHAR* data, int length, ResponsePacket* rp); // FIXME obselete
101 int processConfigSave(UCHAR* data, int length, ResponsePacket* rp);
102 int processConfigLoad(UCHAR* data, int length, ResponsePacket* rp);
103 int processGetMediaList(UCHAR* data, int length, ResponsePacket* rp);
104 int processGetPicture(UCHAR* data, int length, ResponsePacket* rp);
105 int processGetImageBlock(UCHAR* data, int length, ResponsePacket* rp);
110 #ifndef VOMPSTANDALONE
111 cChannel* channelFromNumber(ULONG channelNumber);
112 void writeResumeData();
115 void sendULONG(ULONG ul);
117 ULLONG ntohll(ULLONG a);
118 ULLONG htonll(ULLONG a);