gi-gstvideo-1.0.12: GStreamerVideo bindings

CopyrightWill Thompson, Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria (garetxe@gmail.com)
Safe HaskellNone
LanguageHaskell2010

GI.GstVideo.Structs.VideoTimeCode

Contents

Description

fieldCount must be 0 for progressive video and 1 or 2 for interlaced.

A representation of a SMPTE time code.

hours must be positive and less than 24. Will wrap around otherwise. minutes and seconds must be positive and less than 60. frames must be less than or equal to config.fps_n / config.fps_d These values are *NOT* automatically normalized.

Synopsis

Exported types

newtype VideoTimeCode Source #

Instances

BoxedObject VideoTimeCode Source # 
(~) AttrOpTag tag AttrSet => Constructible VideoTimeCode tag Source # 
((~) * info (ResolveVideoTimeCodeMethod t VideoTimeCode), MethodInfo * info VideoTimeCode p) => IsLabel t (VideoTimeCode -> p) Source # 

Methods

fromLabel :: Proxy# Symbol t -> VideoTimeCode -> p #

((~) * info (ResolveVideoTimeCodeMethod t VideoTimeCode), MethodInfo * info VideoTimeCode p) => IsLabelProxy t (VideoTimeCode -> p) Source # 
HasAttributeList * VideoTimeCode Source # 
((~) * signature (m Text), MonadIO m) => MethodInfo * VideoTimeCodeToStringMethodInfo VideoTimeCode signature Source # 
((~) * signature (m DateTime), MonadIO m) => MethodInfo * VideoTimeCodeToDateTimeMethodInfo VideoTimeCode signature Source # 
((~) * signature (m Word64), MonadIO m) => MethodInfo * VideoTimeCodeNsecSinceDailyJamMethodInfo VideoTimeCode signature Source # 
((~) * signature (m Bool), MonadIO m) => MethodInfo * VideoTimeCodeIsValidMethodInfo VideoTimeCode signature Source # 
((~) * signature (Word32 -> Word32 -> DateTime -> [VideoTimeCodeFlags] -> Word32 -> Word32 -> Word32 -> Word32 -> Word32 -> m ()), MonadIO m) => MethodInfo * VideoTimeCodeInitMethodInfo VideoTimeCode signature Source # 
((~) * signature (m ()), MonadIO m) => MethodInfo * VideoTimeCodeIncrementFrameMethodInfo VideoTimeCode signature Source # 
((~) * signature (m ()), MonadIO m) => MethodInfo * VideoTimeCodeFreeMethodInfo VideoTimeCode signature Source # 
((~) * signature (m Word64), MonadIO m) => MethodInfo * VideoTimeCodeFramesSinceDailyJamMethodInfo VideoTimeCode signature Source # 
((~) * signature (m VideoTimeCode), MonadIO m) => MethodInfo * VideoTimeCodeCopyMethodInfo VideoTimeCode signature Source # 
((~) * signature (VideoTimeCode -> m Int32), MonadIO m) => MethodInfo * VideoTimeCodeCompareMethodInfo VideoTimeCode signature Source # 
((~) * signature (m ()), MonadIO m) => MethodInfo * VideoTimeCodeClearMethodInfo VideoTimeCode signature Source # 
((~) * signature (Int64 -> m ()), MonadIO m) => MethodInfo * VideoTimeCodeAddFramesMethodInfo VideoTimeCode signature Source # 
type AttributeList VideoTimeCode Source # 

newZeroVideoTimeCode :: MonadIO m => m VideoTimeCode Source #

Construct a VideoTimeCode struct initialized to zero.

Methods

addFrames

videoTimeCodeAddFrames Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> VideoTimeCode

tc: a VideoTimeCode

-> Int64

frames: How many frames to add or subtract

-> m () 

Adds or subtracts frames amount of frames to tc .

Since: 1.10

clear

videoTimeCodeClear Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> VideoTimeCode

tc: a VideoTimeCode

-> m () 

Initializes tc with empty/zero/NULL values.

Since: 1.10

compare

videoTimeCodeCompare Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> VideoTimeCode

tc1: a VideoTimeCode

-> VideoTimeCode

tc2: another VideoTimeCode

-> m Int32

Returns: 1 if tc1 is after tc2, -1 if tc1 is before tc2, 0 otherwise.

Compares tc1 and tc2 . If both have latest daily jam information, it is taken into account. Otherwise, it is assumed that the daily jam of both tc1 and tc2 was at the same time.

Since: 1.10

copy

videoTimeCodeCopy Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> VideoTimeCode

tc: a VideoTimeCode

-> m VideoTimeCode

Returns: a new VideoTimeCode with the same values as tc .

No description available in the introspection data.

Since: 1.10

framesSinceDailyJam

videoTimeCodeFramesSinceDailyJam Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> VideoTimeCode

tc: a VideoTimeCode

-> m Word64

Returns: how many frames have passed since the daily jam of tc .

No description available in the introspection data.

Since: 1.10

free

videoTimeCodeFree Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> VideoTimeCode

tc: a VideoTimeCode

-> m () 

Frees tc .

Since: 1.10

incrementFrame

videoTimeCodeIncrementFrame Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> VideoTimeCode

tc: a VideoTimeCode

-> m () 

Adds one frame to tc .

Since: 1.10

init

videoTimeCodeInit Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> VideoTimeCode

tc: a VideoTimeCode

-> Word32

fpsN: Numerator of the frame rate

-> Word32

fpsD: Denominator of the frame rate

-> DateTime

latestDailyJam: The latest daily jam of the VideoTimeCode

-> [VideoTimeCodeFlags]

flags: VideoTimeCodeFlags

-> Word32

hours: the hours field of VideoTimeCode

-> Word32

minutes: the minutes field of VideoTimeCode

-> Word32

seconds: the seconds field of VideoTimeCode

-> Word32

frames: the frames field of VideoTimeCode

-> Word32

fieldCount: Interlaced video field count

-> m () 

fieldCount is 0 for progressive, 1 or 2 for interlaced. latestDaiyJam reference is stolen from caller.

Initializes tc with the given values.

Since: 1.10

isValid

videoTimeCodeIsValid Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> VideoTimeCode

tc: VideoTimeCode to check

-> m Bool

Returns: whether tc is a valid timecode (supported frame rate, hours/minutes/seconds/frames not overflowing)

No description available in the introspection data.

Since: 1.10

new

videoTimeCodeNew Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Word32

fpsN: Numerator of the frame rate

-> Word32

fpsD: Denominator of the frame rate

-> DateTime

latestDailyJam: The latest daily jam of the VideoTimeCode

-> [VideoTimeCodeFlags]

flags: VideoTimeCodeFlags

-> Word32

hours: the hours field of VideoTimeCode

-> Word32

minutes: the minutes field of VideoTimeCode

-> Word32

seconds: the seconds field of VideoTimeCode

-> Word32

frames: the frames field of VideoTimeCode

-> Word32

fieldCount: Interlaced video field count

-> m VideoTimeCode

Returns: a new VideoTimeCode with the given values.

fieldCount is 0 for progressive, 1 or 2 for interlaced. latestDaiyJam reference is stolen from caller.

Since: 1.10

newEmpty

videoTimeCodeNewEmpty Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> m VideoTimeCode

Returns: a new empty VideoTimeCode

No description available in the introspection data.

Since: 1.10

nsecSinceDailyJam

videoTimeCodeNsecSinceDailyJam Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> VideoTimeCode

tc: a VideoTimeCode

-> m Word64

Returns: how many nsec have passed since the daily jam of tc .

No description available in the introspection data.

Since: 1.10

toDateTime

videoTimeCodeToDateTime Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> VideoTimeCode

tc: VideoTimeCode to convert

-> m DateTime

Returns: the DateTime representation of tc.

The tc.config->latest_daily_jam is required to be non-NULL.

Since: 1.10

toString

videoTimeCodeToString Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> VideoTimeCode

tc: VideoTimeCode to convert

-> m Text

Returns: the SMPTE ST 2059-1:2015 string representation of tc. That will take the form hh:mm:ss:ff . The last separator (between seconds and frames) may vary:

';' for drop-frame, non-interlaced content and for drop-frame interlaced field 2 ',' for drop-frame interlaced field 1 ':' for non-drop-frame, non-interlaced content and for non-drop-frame interlaced field 2 '.' for non-drop-frame interlaced field 1

No description available in the introspection data.

Since: 1.10

Properties

config

fieldCount

frames

hours

minutes

seconds