1/**********
2This library is free software; you can redistribute it and/or modify it under
3the terms of the GNU Lesser General Public License as published by the
4Free Software Foundation; either version 3 of the License, or (at your
5option) any later version. (See <http://www.gnu.org/copyleft/lesser.html>.)
6
7This library is distributed in the hope that it will be useful, but WITHOUT
8ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
9FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
10more details.
11
12You should have received a copy of the GNU Lesser General Public License
13along with this library; if not, write to the Free Software Foundation, Inc.,
1451 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
15**********/
16// "liveMedia"
17// Copyright (c) 1996-2020 Live Networks, Inc. All rights reserved.
18// Framed Filters
19// Implementation
20
21#include "FramedFilter.hh"
22
23////////// FramedFilter //////////
24#include <string.h>
25
26void FramedFilter::detachInputSource() {
27 if (fInputSource != NULL) {
28 fInputSource->stopGettingFrames();
29 reassignInputSource(NULL);
30 }
31}
32
33FramedFilter::FramedFilter(UsageEnvironment& env,
34 FramedSource* inputSource)
35 : FramedSource(env),
36 fInputSource(inputSource) {
37}
38
39FramedFilter::~FramedFilter() {
40 Medium::close(fInputSource);
41}
42
43// Default implementations of needed virtual functions. These merely
44// call the same function in the input source - i.e., act like a 'null filter
45
46char const* FramedFilter::MIMEtype() const {
47 if (fInputSource == NULL) return "";
48
49 return fInputSource->MIMEtype();
50}
51
52void FramedFilter::getAttributes() const {
53 if (fInputSource != NULL) fInputSource->getAttributes();
54}
55
56void FramedFilter::doStopGettingFrames() {
57 FramedSource::doStopGettingFrames();
58 if (fInputSource != NULL) fInputSource->stopGettingFrames();
59}
60