⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 umc_playback.h

📁 audio-video-codecs.rar语音编解码器
💻 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 + -