summaryrefslogtreecommitdiffstats
path: root/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxHTSP.h
diff options
context:
space:
mode:
Diffstat (limited to 'xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxHTSP.h')
-rw-r--r--xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxHTSP.h68
1 files changed, 68 insertions, 0 deletions
diff --git a/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxHTSP.h b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxHTSP.h
new file mode 100644
index 0000000..6d73a9d
--- /dev/null
+++ b/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxHTSP.h
@@ -0,0 +1,68 @@
1/*
2 * Copyright (C) 2005-2013 Team XBMC
3 * http://xbmc.org
4 *
5 * This Program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2, or (at your option)
8 * any later version.
9 *
10 * This Program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with XBMC; see the file COPYING. If not, see
17 * <http://www.gnu.org/licenses/>.
18 *
19 */
20
21#pragma once
22#include "DVDDemux.h"
23#include "filesystem/HTSPSession.h"
24
25class CDVDInputStreamHTSP;
26typedef struct htsmsg htsmsg_t;
27
28class CDVDDemuxHTSP : public CDVDDemux
29{
30public:
31 CDVDDemuxHTSP();
32 virtual ~CDVDDemuxHTSP();
33
34 bool Open(CDVDInputStream* input);
35 void Dispose();
36 void Reset();
37 void Flush();
38 void Abort();
39 void SetSpeed(int iSpeed){};
40
41 std::string GetFileName();
42
43 DemuxPacket* Read();
44
45 bool SeekTime(int time, bool backwords = false, double* startpts = NULL) { return false; }
46 int GetStreamLength() { return 0; }
47
48 CDemuxStream* GetStream(int iStreamId);
49 int GetNrOfStreams();
50
51protected:
52 friend class CDemuxStreamVideoHTSP;
53
54 void SubscriptionStart (htsmsg_t *m);
55 void SubscriptionStop (htsmsg_t *m);
56 void SubscriptionStatus(htsmsg_t *m);
57
58 htsmsg_t* ReadStream();
59 bool ReadStream(uint8_t* buf, int len);
60
61 typedef std::vector<CDemuxStream*> TStreams;
62
63 CDVDInputStream* m_Input;
64 TStreams m_Streams;
65 std::string m_Status;
66 int m_StatusCount;
67 HTSP::SQueueStatus m_QueueStatus;
68};