📄 umc_playback.h
字号:
/*
// INTEL CORPORATION PROPRIETARY INFORMATION
// This software is supplied under the terms of a license agreement or
// nondisclosure agreement with Intel Corporation and may not be copied
// or disclosed except in accordance with the terms of that agreement.
// Copyright (c) 2003-2007 Intel Corporation. All Rights Reserved.
//
//
//*/
#ifndef __UMC_PLAYBACK_H__
#define __UMC_PLAYBACK_H__
#include <stdio.h>
#include "vm_strings.h"
namespace UMC
{
typedef enum
{
MSG_UNKNOWN = 0,
MSG_BUILD_ERROR = 1,
MSG_PLAYBACK_ERROR = 2,
MSG_EVENT = 3,
MSG_WARNING = 4,
MSG_INFO = 5,
} MessageType;
interface PlaybackOutput
{
virtual int Message(int message_type, const char *message) = 0;
};
interface Playback
{
public:
virtual ~Playback() {};
virtual int SetOutput(PlaybackOutput *pPlaybackOutput) = 0;
virtual int ProcessCommand(vm_char **argv, int argc, int *pNumProcessed) = 0;
virtual int Play() = 0;
virtual int Pause() = 0;
virtual int Stop() = 0; //stop stream, seek to begin
virtual int WaitForCompletion(int msec) = 0;
virtual int GetDuration(double *pDuration) = 0;
virtual int GetPosition(double *pPosition) { return -1; };
virtual int SetPosition(double dPosition) = 0;
virtual int MovePosition(double dPosition) = 0;
virtual int SetRate(double dRate) = 0;
//querry defined guid interface, if exists in graph
virtual int FindInterface(const vm_char *pFilterName, GUID iid, void** ppObject) = 0;
//get info about graph
virtual int GraphInfo(FILE *pOutputFile) = 0;
int ProcessCommand(vm_char *str0, vm_char *str1 = NULL)
{
vm_char* argv[2] = {str0, str1};
int argc = (str1 != NULL) ? 2 : 1;
int n = 0, res;
res = ProcessCommand(argv, argc, &n);
if (!n) return -1;
return res;
}
};
Playback *CreatePlayback();
} // namespace UMC
#endif // __UMC_PLAYBACK_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -