【VC开源代码栏目提醒】:本文主要为网学会员提供Decaps.cpp,希望对需要Decaps.cpp网友有所帮助,学习一下!
/**************************************************************************************
* *
* *
**************************************************************************************/
#include "Decaps.h"
MediaDecaps::MediaDecaps()
{
this->decaps = NULL;
this->decapsAVI = new MediaDecapsAVI();
}
MediaDecaps::~MediaDecaps()
{
}
media_type_t MediaDecaps::GetType()
{
return MEDIA_TYPE_DECAPS;
}
char *MediaDecaps::GetName()
{
if(this->decaps)
return this->decaps->GetName();
return "AVI Wrapper";
}
MP_RESULT MediaDecaps::Connect(MediaItem *item)
{
if(this->decapsAVI->Connect(item) == MP_RESULT_OK) {
this->decaps = this->decapsAVI;
return MP_RESULT_OK;
}
return MP_RESULT_ERROR;
}
MP_RESULT MediaDecaps::ReleaseConnections()
{
if(this->decaps != NULL) {
this->decaps->ReleaseConnections();
this->decaps = NULL;
}
return MP_RESULT_OK;
}
DWORD MediaDecaps::GetCaps()
{
return 0;
}
MP_RESULT MediaDecaps::Configure(HINSTANCE hInstance, HWND hwnd)
{
return MP_RESULT_ERROR;
}
unsigned int MediaDecaps::GetNumberOfVideoStreams()
{
if(this->decaps) {
return this->decaps->GetNumberOfVideoStreams();
}
return MP_RESULT_ERROR;
}
unsigned int MediaDecaps::GetNumberOfAudioStreams()
{
if(this->decaps) {
return this->decaps->GetNumberOfAudioStreams();
}
return MP_RESULT_ERROR;
}
unsigned int MediaDecaps::GetVideoWidth(unsigned int StreamId)
{
if(this->decaps) {
return this->decaps->GetVideoWidth(StreamId);
}
return MP_RESULT_ERROR;
}
unsigned int MediaDecaps::GetVideoHeight(unsigned int StreamId)
{
if(this->decaps) {
return this->decaps->GetVideoHeight(StreamId);
}
return MP_RESULT_ERROR;
}
double MediaDecaps::GetVideoFrameRate(unsigned int StreamId)
{
if(this->decaps) {
return this->decaps->GetVideoFrameRate(StreamId);
}
return MP_RESULT_ERROR;
}
char *MediaDecaps::GetVideoCompression(unsigned int StreamId)
{
if(this->decaps) {
return this->decaps->GetVideoCompression(StreamId);
}
return "NULL";
}
BITMAPINFOHEADER *MediaDecaps::GetVideoHeader(unsigned int StreamId)
{
if(this->decaps) {
return this->decaps->GetVideoHeader(StreamId);
}
return NULL;
}
unsigned long MediaDecaps::GetCurrentVideoFrame(unsigned int StreamId)
{
if(this->decaps) {
return this->decaps->GetCurrentVideoFrame(StreamId);
}
return 0;
}
unsigned long MediaDecaps::GetTotalVideoFrames(unsigned int StreamId)
{
if(this->decaps) {
return this->decaps->GetTotalVideoFrames(StreamId);
}
return 0;
}
unsigned long MediaDecaps::GetTotalVideoTime(unsigned int StreamId)
{
if(this->decaps) {
return this->decaps->GetTotalVideoTime(StreamId);
}
return 0;
}
unsigned int MediaDecaps::GetAudioBits(unsigned int StreamId)
{
if(this->decaps) {
return this->decaps->GetAudioBits(StreamId);
}
return 0;
}
unsigned int MediaDecaps::GetAudioChannels(unsigned int StreamId)
{
if(this->decaps) {
return this->decaps->GetAudioChannels(StreamId);
}
return 0;
}
unsigned int MediaDecaps::GetAudioFrequency(unsigned int StreamId)
{
if(this->decaps) {
return this->decaps->GetAudioFrequency(StreamId);
}
return 0;
}
WAVEFORMATEX *MediaDecaps::GetAudioFormat(unsigned int StreamId)
{
if(this->decaps) {
return this->decaps->GetAudioFormat(StreamId);
}
return NULL;
}
unsigned int MediaDecaps::GetNextVideoFrameSize(unsigned int StreamId)
{
if(this->decaps) {
return this->decaps->GetNextVideoFrameSize(StreamId);
}
return 0;
}
unsigned int MediaDecaps::ReadVideoFrame(unsigned int StreamId, MediaBuffer *mb)
{
if(this->decaps) {
return this->decaps->ReadVideoFrame(StreamId, mb);
}
return MP_RESULT_ERROR;
}
unsigned int MediaDecaps::ReadAudioData(unsigned int StreamId, char *buffer, unsigned int bytes)
{
if(this->decaps) {
return this->decaps->ReadAudioData(StreamId, buffer, bytes);
}
return MP_RESULT_ERROR;
}
MP_RESULT MediaDecaps::UpdateForSize()
{
if(this->decaps)
return this->decaps->UpdateForSize();
return MP_RESULT_ERROR;
}
MP_RESULT MediaDecaps::SeekAudio(unsigned int StreamId, long bytes)
{
if(this->decaps) {
return this->decaps->SeekAudio(StreamId, bytes);
}
return MP_RESULT_ERROR;
}
MP_RESULT MediaDecaps::SeekVideo(unsigned int StreamId, long frame)
{
if(this->decaps) {
return this->decaps->SeekVideo(StreamId, frame);
}
return MP_RESULT_ERROR;
}
MP_RESULT MediaDecaps::ReSeekAudio(unsigned int StreamId)
{
if(this->decaps) {
return this->decaps->ReSeekAudio(StreamId);
}
return MP_RESULT_ERROR;
}
MP_RESULT MediaDecaps::Seek(unsigned int videoStreamId, unsigned int audioStreamId, int percent)
{
if(this->decaps) {
return this->decaps->Seek(videoStreamId, audioStreamId, percent);
}
return MP_RESULT_ERROR;
}
MP_RESULT MediaDecaps::Rewind(unsigned int videoStreamId, unsigned int audioStreamId)
{
if(this->decaps) {
return this->decaps->Rewind(videoStreamId, audioStreamId);
}
return MP_RESULT_ERROR;
}
MP_RESULT MediaDecaps::SeekNextKeyFrame(unsigned int StreamId)
{
if(this->decaps) {
return this->decaps->SeekNextKeyFrame(StreamId);
}
return MP_RESULT_ERROR;
}
MP_RESULT MediaDecaps::SeekPreviousKeyFrame(unsigned int StreamId)
{
if(this->decaps) {
return this->decaps->SeekPreviousKeyFrame(StreamId);
}
return MP_RESULT_ERROR;
}
上一篇:
FMSUB.frm
下一篇:
数控回转工作台设计 毕业设计word2003