📄 imediaseeking.cs
字号:
namespace dshow.Core
{
using System;
using System.Runtime.InteropServices;
// IMediaSeeking interface
//
// Contains methods for seeking to a position within a stream,
// and for setting the playback rate
//
[ComImport,
Guid("36B73880-C2C8-11CF-8B46-00805F6CEF60"),
InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IMediaSeeking
{
// Retrieves all the seeking capabilities of the stream
[PreserveSig]
int GetCapabilities(
out SeekingCapabilities pCapabilities);
// Queries whether a stream has specified seeking capabilities
[PreserveSig]
int CheckCapabilities(
[In, Out] ref SeekingCapabilities pCapabilities);
// Determines whether a specified time format is supported
[PreserveSig]
int IsFormatSupported(
[In] ref Guid pFormat);
// Retrieves the preferred time format for the stream
[PreserveSig]
int QueryPreferredFormat(
[Out] out Guid pFormat);
// Retrieves the current time format
[PreserveSig]
int GetTimeFormat(
[Out] out Guid pFormat);
// Determines whether a specified time format
// is the format currently in use
[PreserveSig]
int IsUsingTimeFormat(
[In] ref Guid pFormat);
// Sets the time format
[PreserveSig]
int SetTimeFormat(
[In] ref Guid pFormat);
// Retrieves the duration of the stream
[PreserveSig]
int GetDuration(
out long pDuration);
// Retrieves the time at which the playback will stop,
// relative to the duration of the stream
[PreserveSig]
int GetStopPosition(
out long pStop);
// Retrieves the current position, relative to the
// total duration of the stream
[PreserveSig]
int GetCurrentPosition(
out long pCurrent);
// Converts from one time format to another
[PreserveSig]
int ConvertTimeFormat(
out long pTarget,
[In] ref Guid pTargetFormat,
long Source,
[In] ref Guid pSourceFormat);
// Sets the current position and the stop position
[PreserveSig]
int SetPositions(
[In, Out] ref long pCurrent,
SeekingFlags dwCurrentFlags,
[In, Out] ref long pStop,
SeekingFlags dwStopFlags);
// Retrieves the current position and the stop position,
// relative to the total duration of the stream
[PreserveSig]
int GetPositions(
out long pCurrent,
out long pStop);
// Retrieves the range of times in which seeking is efficient
[PreserveSig]
int GetAvailable(
out long pEarliest,
out long pLatest);
// Sets the playback rate
[PreserveSig]
int SetRate(
double dRate);
// Retrieves the playback rate
[PreserveSig]
int GetRate(
out double pdRate);
// Retrieves the amount of data that will be queued before
// the start position
[PreserveSig]
int GetPreroll(
out long pllPreroll);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -