4 * Copyright (C) 2005-2013 Team XBMC
7 * This Program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2, or (at your option)
12 * This Program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with XBMC; see the file COPYING. If not, see
19 * <http://www.gnu.org/licenses/>.
23 #include "DVDInputStream.h"
27 class ILiveTVInterface;
31 class CDVDInputStreamTV
32 : public CDVDInputStream
33 , public CDVDInputStream::IChannel
34 , public CDVDInputStream::IDisplayTime
38 virtual ~CDVDInputStreamTV();
39 virtual bool Open(const char* strFile, const std::string &content);
41 virtual int Read(BYTE* buf, int buf_size);
42 virtual int64_t Seek(int64_t offset, int whence);
43 virtual bool Pause(double dTime) { return false; };
45 virtual int64_t GetLength();
47 virtual ENextStream NextStream();
48 virtual int GetBlockSize();
50 bool NextChannel(bool preview = false);
51 bool PrevChannel(bool preview = false);
52 bool SelectChannelByNumber(unsigned int channel);
57 bool SeekTime(int iTimeInMsec);
61 bool Record(bool bOnOff);
63 bool CanPause() { return false; };
64 bool CanSeek() { return false; };
66 bool UpdateItem(CFileItem& item);
69 XFILE::IFile* m_pFile;
70 XFILE::ILiveTVInterface* m_pLiveTV;
71 XFILE::IRecordable* m_pRecordable;