1 /* 2 * DASHStream.hpp 3 ***************************************************************************** 4 * Copyright (C) 2015 - VideoLAN and VLC authors 5 * 6 * This program is free software; you can redistribute it and/or modify it 7 * under the terms of the GNU Lesser General Public License as published 8 * by the Free Software Foundation; either version 2.1 of the License, or 9 * (at your option) any later version. 10 * 11 * This program 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 Lesser General Public License for more details. 15 * 16 * You should have received a copy of the GNU Lesser General Public License 17 * along with this program; if not, write to the Free Software Foundation, 18 * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. 19 *****************************************************************************/ 20 #ifndef DASHSTREAM_HPP 21 #define DASHSTREAM_HPP 22 23 #include "../adaptive/Streams.hpp" 24 25 namespace dash 26 { 27 using namespace adaptive; 28 29 class DASHStream : public AbstractStream 30 { 31 public: 32 DASHStream(demux_t *); 33 34 protected: 35 virtual block_t *checkBlock(block_t *, bool); /* impl */ 36 virtual AbstractDemuxer * newDemux(vlc_object_t *, const StreamFormat &, 37 es_out_t *, AbstractSourceStream *) const; /* reimpl */ 38 }; 39 40 class DASHStreamFactory : public AbstractStreamFactory 41 { 42 public: 43 virtual AbstractStream *create(demux_t*, const StreamFormat &, 44 SegmentTracker *, AbstractConnectionManager *) const; 45 }; 46 } 47 48 #endif // DASHSTREAM_HPP 49