1 /* 2 * MediaConverter is the base class for all subsequent decoders 3 * and encoders 4 * 5 * Copyright (C) 2008 Joern Seger 6 * 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 of the License, or 10 * (at your option) any later version. 11 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. 16 17 * You should have received a copy of the GNU General Public License 18 * along with this program; if not, write to the Free Software 19 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 20 * 21 */ 22 23 #include <iostream> 24 #include "mediaConverter.h" 25 #include "log.h" 26 MediaConverter()27MediaConverter::MediaConverter() 28 : mediaConverterState(mdec_free) 29 { 30 } 31 ~MediaConverter()32MediaConverter::~MediaConverter() 33 { 34 } 35 setInitialized()36void MediaConverter::setInitialized() 37 { 38 if (mediaConverterState == mdec_free) 39 mediaConverterState = mdec_initialized; 40 else 41 logger.error() << "MediaConverter::setInitialized(): double initalization\n"; 42 } 43 setConfigured()44void MediaConverter::setConfigured() 45 { 46 if (mediaConverterState < mdec_configured) 47 mediaConverterState = mdec_configured; 48 else 49 logger.error() << "MediaConverter::setConfigured(): decoder is configured\n"; 50 } 51 setAvailable()52void MediaConverter::setAvailable() 53 { 54 if ((mediaConverterState >= mdec_configured) && 55 (mediaConverterState <= mdec_available)) 56 mediaConverterState = mdec_available; 57 else 58 logger.error() << "MediaConverter::setAvailable(): decoder is not configured or has ended\n"; 59 } 60 setEmpty()61void MediaConverter::setEmpty() 62 { 63 if ((mediaConverterState == mdec_configured) || 64 (mediaConverterState == mdec_available) || 65 (mediaConverterState == mdec_empty)) 66 mediaConverterState = mdec_empty; 67 else 68 logger.error() << "MediaConverter::setEmpty(): decoder not configured correctly\n"; 69 } 70 setEndOfStream()71void MediaConverter::setEndOfStream() 72 { 73 if (mediaConverterState > mdec_initialized) 74 mediaConverterState = mdec_endofStream; 75 else 76 logger.error() << "MediaConverter::setEndOfStream(): decoder not initialized\n"; 77 } 78 setFree()79void MediaConverter::setFree() 80 { 81 mediaConverterState = mdec_free; 82 } 83 isInitialized()84bool MediaConverter::isInitialized() 85 { 86 return(mediaConverterState > mdec_free); 87 } 88 isConfigured()89bool MediaConverter::isConfigured() 90 { 91 return(mediaConverterState > mdec_initialized); 92 } 93 isAvailable()94bool MediaConverter::isAvailable() 95 { 96 return(mediaConverterState == mdec_available); 97 } 98 isEmpty()99bool MediaConverter::isEmpty() 100 { 101 return( (mediaConverterState == mdec_initialized) || 102 (mediaConverterState == mdec_empty) || 103 (mediaConverterState == mdec_configured)); 104 } 105 isEndOfStream()106bool MediaConverter::isEndOfStream() 107 { 108 return(mediaConverterState == mdec_endofStream); 109 } 110