Gnash
0.8.10
|
Gstreamer based MediaParser. More...
#include <MediaParserGst.h>
Public Member Functions | |
MediaParserGst (std::auto_ptr< IOChannel > stream) | |
Construct a Gstreamer-based media parser for given stream. | |
~MediaParserGst () | |
bool | seek (boost::uint32_t &) |
Seeks to the closest possible position the given position, and returns the new position. | |
bool | parseNextChunk () |
Parse next chunk of input. | |
virtual boost::uint64_t | getBytesLoaded () const |
Return number of bytes parsed so far. | |
virtual boost::optional< Id3Info > | getId3Info () const |
Get ID3 data from the parsed stream if it exists. | |
void | rememberAudioFrame (EncodedAudioFrame *frame) |
void | rememberVideoFrame (EncodedVideoFrame *frame) |
Gstreamer based MediaParser.
gnash::media::gst::MediaParserGst::MediaParserGst | ( | std::auto_ptr< IOChannel > | stream | ) |
Construct a Gstreamer-based media parser for given stream.
Can throw a MediaException if input format couldn't be detected
References _, swfdec_gst_connect_srcpad(), gnash::media::MediaParser::_stream, gnash::media::MediaParser::_videoInfo, gnash::media::MediaParser::_audioInfo, and gnash::media::MediaParser::startParserThread().
gnash::media::gst::MediaParserGst::~MediaParserGst | ( | ) |
References gnash::media::MediaParser::stopParserThread(), and assert.
boost::uint64_t gnash::media::gst::MediaParserGst::getBytesLoaded | ( | ) | const [virtual] |
Return number of bytes parsed so far.
Reimplemented from gnash::media::MediaParser.
References gnash::media::MediaParser::_bytesLoadedMutex, and gnash::media::MediaParser::_bytesLoaded.
boost::optional< Id3Info > gnash::media::gst::MediaParserGst::getId3Info | ( | ) | const [virtual] |
Get ID3 data from the parsed stream if it exists.
It's best to do this only when parsingComplete is true.
Reimplemented from gnash::media::MediaParser.
bool gnash::media::gst::MediaParserGst::parseNextChunk | ( | ) | [virtual] |
Parse next chunk of input.
The implementations are required to parse a small chunk of input, so to avoid blocking too much if parsing conditions change (ie: seek or destruction requested)
When LOAD_MEDIA_IN_A_SEPARATE_THREAD is defined, this should never be called by users (consider protected).
Implements gnash::media::MediaParser.
References gnash::media::MediaParser::_streamMutex, gnash::media::MediaParser::_stream, gnash::media::MediaParser::_parsingComplete, gnash::media::MediaParser::_bytesLoadedMutex, and gnash::media::MediaParser::_bytesLoaded.
void gnash::media::gst::MediaParserGst::rememberAudioFrame | ( | EncodedAudioFrame * | frame | ) |
void gnash::media::gst::MediaParserGst::rememberVideoFrame | ( | EncodedVideoFrame * | frame | ) |
bool gnash::media::gst::MediaParserGst::seek | ( | boost::uint32_t & | time | ) | [virtual] |
Seeks to the closest possible position the given position, and returns the new position.
time | input/output parameter, input requests a time, output return the actual time seeked to. |
Implements gnash::media::MediaParser.