Gnash  0.8.11dev
MediaHandlerGst.h
Go to the documentation of this file.
1 // MediaHandlerGst.h: GST media handler, for Gnash
2 //
3 // Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012
4 // Free Software Foundation, Inc.
5 //
6 // This program is free software; you can redistribute it and/or modify
7 // it under the terms of the GNU General Public License as published by
8 // the Free Software Foundation; either version 3 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 General Public License for more details.
15 //
16 // You should have received a copy of the GNU General Public License
17 // along with this program; if not, write to the Free Software
18 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19 
20 #ifndef GNASH_MEDIAHANDLERGST_H
21 #define GNASH_MEDIAHANDLERGST_H
22 
23 #include "MediaHandler.h"
24 
25 #include <vector>
26 #include <memory>
27 
28 namespace gnash {
29 namespace media {
30 
32 namespace gst {
33 
35 //
43 {
44 public:
45 
46  virtual std::string description() const;
47 
48  virtual std::unique_ptr<MediaParser>
49  createMediaParser(std::unique_ptr<IOChannel> stream);
50 
51  virtual std::unique_ptr<VideoDecoder>
52  createVideoDecoder(const VideoInfo& info);
53 
54  virtual std::unique_ptr<AudioDecoder>
55  createAudioDecoder(const AudioInfo& info);
56 
57  virtual std::unique_ptr<VideoConverter>
59  ImgBuf::Type4CC dstFormat);
60 
61  virtual VideoInput* getVideoInput(size_t index);
62 
63  virtual AudioInput* getAudioInput(size_t index);
64 
65  virtual void cameraNames(std::vector<std::string>& names) const;
66 };
67 
68 
69 
70 } // gnash.media.gst namespace
71 } // gnash.media namespace
72 } // namespace gnash
73 
74 #endif
AudioDecoderSpeex.h
height
@ height
Definition: klash_part.cpp:329
gnash::media::gst::MediaHandlerGst::getAudioInput
virtual AudioInput * getAudioInput(size_t index)
Definition: MediaHandlerGst.cpp:168
gnash::media::gst::ExtraInfoGst::caps
GstCaps * caps
Definition: MediaParserGst.h:59
gnash::media::gst::MediaHandlerGst::description
virtual std::string description() const
Return a description of this media handler.
Definition: MediaHandlerGst.cpp:48
gnash::GnashException
Top-level gnash exception.
Definition: GnashException.h:31
gnash::media::gst::MediaHandlerGst
GST based MediaHandler.
Definition: MediaHandlerGst.h:43
gnash::media::gst::MediaHandlerGst::createVideoDecoder
virtual std::unique_ptr< VideoDecoder > createVideoDecoder(const VideoInfo &info)
Create a VideoDecoder for decoding what's specified in the VideoInfo.
Definition: MediaHandlerGst.cpp:84
_
#define _(String)
Definition: log.h:44
MediaHandler.h
gnash
Anonymous namespace for callbacks, local functions, event handlers etc.
Definition: dbus_ext.cpp:41
gnash::media::AudioInfo::codec
int codec
Codec identifier.
Definition: MediaParser.h:286
GnashFactory.h
gnash::media::VideoInfo
Information about a video stream.
Definition: MediaParser.h:323
gnash::key::s
@ s
Definition: GnashKey.h:165
gnash::media::AudioInput
A class representing a single AudioInput device.
Definition: AudioInput.h:36
gnash::media::VideoInfo::extra
std::unique_ptr< ExtraInfo > extra
Extra info about video stream, if when needed.
Definition: MediaParser.h:388
gnash::media::AUDIO_CODEC_SPEEX
@ AUDIO_CODEC_SPEEX
Always 16kHz mono.
Definition: MediaParser.h:187
gnash::log_error
void log_error(StringType msg, Args... args)
Definition: log.h:283
gnash::media::gst::MediaHandlerGst::createVideoConverter
virtual std::unique_ptr< VideoConverter > createVideoConverter(ImgBuf::Type4CC srcFormat, ImgBuf::Type4CC dstFormat)
Create an VideoConverter for converting between color spaces.
Definition: MediaHandlerGst.cpp:150
gnash::media::MediaHandler::createFlashAudioDecoder
std::unique_ptr< AudioDecoder > createFlashAudioDecoder(const AudioInfo &info)
Create an AudioDecoder for CODEC_TYPE_FLASH codecs.
Definition: MediaHandler.cpp:89
VideoInputGst.h
gnash::media::MediaHandler
The MediaHandler class acts as a factory to provide parser and decoders.
Definition: MediaHandler.h:70
gnash::media::gst::MediaParserGst
Gstreamer based MediaParser.
Definition: MediaParserGst.h:105
gnash::media::gst::MediaHandlerGst::createAudioDecoder
virtual std::unique_ptr< AudioDecoder > createAudioDecoder(const AudioInfo &info)
Create an AudioDecoder for decoding what's specified in the AudioInfo.
Definition: MediaHandlerGst.cpp:115
gnash::media::ExtraVideoInfoFlv::size
size_t size
Video stream header size.
Definition: FLVParser.h:68
FLVParser.h
gnash::media::ExtraVideoInfoFlv::data
std::unique_ptr< std::uint8_t[]> data
Video stream header.
Definition: FLVParser.h:65
gnash::media::gst::ExtraInfoGst
Class to hold extra info found in any stream by the parser.
Definition: MediaParserGst.h:46
AudioInputGst.h
MediaParserGst.h
gnash::media::gst::VideoConverterGst
Base class for video image space conversion with gst.
Definition: VideoConverterGst.h:34
gnash::media::ImgBuf::Type4CC
std::uint32_t Type4CC
Definition: VideoConverter.h:45
VideoConverterGst.h
gnash::media::VideoInfo::type
codecType type
Definition: MediaParser.h:372
gnash::media::gst::AudioInputGst
The main AudioInputGst class, which actually doesn't store too much important information (most of th...
Definition: AudioInputGst.h:243
gnash::media::gst::MediaHandlerGst::getVideoInput
virtual VideoInput * getVideoInput(size_t index)
Return a VideoInput.
Definition: MediaHandlerGst.cpp:176
MediaParser.h
gnash::media::CODEC_TYPE_FLASH
@ CODEC_TYPE_FLASH
The internal flash codec ids.
Definition: MediaParser.h:68
MediaHandlerGst.h
names
char ** names[EV_MAX+1]
Definition: evtest.c:357
gnash::media::VideoInfo::height
std::uint16_t height
Definition: MediaParser.h:369
gnash::media::AudioInfo
Information about an audio stream.
Definition: MediaParser.h:237
gnash::media::gst::MediaHandlerGst::cameraNames
virtual void cameraNames(std::vector< std::string > &names) const
Return a list of available cameras.
Definition: MediaHandlerGst.cpp:184
gnash::media::gst::VideoInputGst
Definition: VideoInputGst.h:117
gst
gnash::media::gst::VideoInputGst::getNames
static void getNames(std::vector< std::string > &names)
Definition: VideoInputGst.cpp:277
gnash::media::VideoInfo::codec
int codec
Definition: MediaParser.h:367
AudioDecoderGst.h
gnash::media::videoCodecType
videoCodecType
Video codec ids as defined in flash.
Definition: MediaParser.h:76
gnash::media::VideoInfo::width
std::uint16_t width
Definition: MediaParser.h:368
gnash::media::MediaHandler::isFLV
bool isFLV(IOChannel &stream)
Return true if input stream is an FLV.
Definition: MediaHandler.cpp:47
gnash::media::gst::AudioDecoderGst
GST based AudioDecoder.
Definition: AudioDecoderGst.h:44
gnash::media::AudioDecoderSpeex
Audio decoder for the speex codec.
Definition: AudioDecoderSpeex.h:41
gnash::media::gst::VideoDecoderGst
GST based VideoDecoder.
Definition: VideoDecoderGst.h:74
gnash::media::FLVParser
The FLVParser class parses FLV streams.
Definition: FLVParser.h:105
VideoDecoderGst.h
gnash::media::VideoInput
This is the interface for video input devices.
Definition: VideoInput.h:47
width
@ width
Definition: klash_part.cpp:329
gnash::media::gst::MediaHandlerGst::createMediaParser
virtual std::unique_ptr< MediaParser > createMediaParser(std::unique_ptr< IOChannel > stream)
Return an appropriate MediaParser for given input.
Definition: MediaHandlerGst.cpp:58
gnash::media::ExtraVideoInfoFlv
Extra video info found in some FLV embedded streams.
Definition: FLVParser.h:44
gnash::MediaException
An exception from MediaHandler subsystem.
Definition: GnashException.h:50
IOChannel.h
gnash::media::AudioInfo::type
codecType type
Definition: MediaParser.h:297