diff options
Diffstat (limited to 'mediaplugin/src/media')
-rw-r--r-- | mediaplugin/src/media/UMediaPlugin.pas | 11 | ||||
-rw-r--r-- | mediaplugin/src/media/UVideoDecoderPlugin.pas | 15 |
2 files changed, 20 insertions, 6 deletions
diff --git a/mediaplugin/src/media/UMediaPlugin.pas b/mediaplugin/src/media/UMediaPlugin.pas index 8632b9df..cf25e033 100644 --- a/mediaplugin/src/media/UMediaPlugin.pas +++ b/mediaplugin/src/media/UMediaPlugin.pas @@ -119,6 +119,13 @@ type getRatio: function(stream: PAudioConvertStream): double; cdecl; end; + PVideoFrameInfo = ^TVideoFrameInfo; + TVideoFrameInfo = record + width: cint; + height: cint; + aspect: double; + end; + PVideoDecoderInfo = ^TVideoDecoderInfo; TVideoDecoderInfo = record priority: cint; @@ -130,9 +137,7 @@ type getLoop: function(stream: PVideoDecodeStream): cbool; cdecl; setPosition: procedure(stream: PVideoDecodeStream; time: double); cdecl; getPosition: function(stream: PVideoDecodeStream): double; cdecl; - getFrameWidth: function(stream: PVideoDecodeStream): cint; cdecl; - getFrameHeight: function(stream: PVideoDecodeStream): cint; cdecl; - getFrameAspect: function(stream: PVideoDecodeStream): double; cdecl; + getFrameInfo: procedure(stream: PVideoDecodeStream; info: PVideoFrameInfo); cdecl; getFrame: function (stream: PVideoDecodeStream; time: clongdouble): PCuint8; cdecl; end; diff --git a/mediaplugin/src/media/UVideoDecoderPlugin.pas b/mediaplugin/src/media/UVideoDecoderPlugin.pas index 722928d8..ef411023 100644 --- a/mediaplugin/src/media/UVideoDecoderPlugin.pas +++ b/mediaplugin/src/media/UVideoDecoderPlugin.pas @@ -204,18 +204,27 @@ begin end; function TPluginVideoDecodeStream.GetFrameWidth(): integer; +var + FrameInfo: TVideoFrameInfo; begin - Result := fVideoDecoderInfo.getFrameWidth(fStream); + fVideoDecoderInfo.getFrameInfo(fStream, @FrameInfo); + Result := FrameInfo.width; end; function TPluginVideoDecodeStream.GetFrameHeight(): integer; +var + FrameInfo: TVideoFrameInfo; begin - Result := fVideoDecoderInfo.getFrameHeight(fStream); + fVideoDecoderInfo.getFrameInfo(fStream, @FrameInfo); + Result := FrameInfo.height; end; function TPluginVideoDecodeStream.GetFrameAspect(): real; +var + FrameInfo: TVideoFrameInfo; begin - Result := fVideoDecoderInfo.getFrameAspect(fStream); + fVideoDecoderInfo.getFrameInfo(fStream, @FrameInfo); + Result := FrameInfo.aspect; end; end. |