#[repr(C, packed(1))]pub struct PrSDKVideoSegmentSuite {Show 33 fields
pub AcquireVideoSegmentsID: Option<unsafe extern "C" fn(inTimelineData: PrTimelineID, outVideoSegmentsID: *mut csSDK_int32) -> prSuiteError>,
pub AcquireVideoSegmentsWithPreviewsID: Option<unsafe extern "C" fn(inTimelineData: PrTimelineID, outVideoSegmentsID: *mut csSDK_int32) -> prSuiteError>,
pub AcquireVideoSegmentsWithOpaquePreviewsID: Option<unsafe extern "C" fn(inTimelineData: PrTimelineID, outVideoSegmentsID: *mut csSDK_int32) -> prSuiteError>,
pub ReleaseVideoSegmentsID: Option<unsafe extern "C" fn(inVideoSegmentsID: csSDK_int32) -> prSuiteError>,
pub GetHash: Option<unsafe extern "C" fn(inVideoSegmentsID: csSDK_int32, outHash: *mut prPluginID) -> prSuiteError>,
pub GetSegmentCount: Option<unsafe extern "C" fn(inVideoSegmentsID: csSDK_int32, outNumSegments: *mut csSDK_int32) -> prSuiteError>,
pub GetSegmentInfo: Option<unsafe extern "C" fn(inVideoSegmentsID: csSDK_int32, inIndex: csSDK_int32, outStartTime: *mut PrTime, outEndTime: *mut PrTime, outSegmentOffset: *mut PrTime, outHash: *mut prPluginID) -> prSuiteError>,
pub AcquireNodeID: Option<unsafe extern "C" fn(inVideoSegmentsID: csSDK_int32, inHash: *mut prPluginID, outVideoNodeID: *mut csSDK_int32) -> prSuiteError>,
pub ReleaseVideoNodeID: Option<unsafe extern "C" fn(inVideoNodeID: csSDK_int32) -> prSuiteError>,
pub GetNodeInfo: Option<unsafe extern "C" fn(inVideoNodeID: csSDK_int32, outNodeType: *mut c_char, outHash: *mut prPluginID, outFlags: *mut csSDK_int32) -> prSuiteError>,
pub GetNodeInputCount: Option<unsafe extern "C" fn(inVideoNodeID: csSDK_int32, outNumInputs: *mut csSDK_int32) -> prSuiteError>,
pub AcquireInputNodeID: Option<unsafe extern "C" fn(inVideoNodeID: csSDK_int32, inIndex: csSDK_int32, outOffset: *mut PrTime, outInputVideoNodeID: *mut csSDK_int32) -> prSuiteError>,
pub GetNodeOperatorCount: Option<unsafe extern "C" fn(inVideoNodeID: csSDK_int32, outNumOperators: *mut csSDK_int32) -> prSuiteError>,
pub AcquireOperatorNodeID: Option<unsafe extern "C" fn(inVideoNodeID: csSDK_int32, inIndex: csSDK_int32, outOperatorVideoNodeID: *mut csSDK_int32) -> prSuiteError>,
pub IterateNodeProperties: Option<unsafe extern "C" fn(inVideoNodeID: csSDK_int32, inCallback: SegmentNodePropertyCallback, inPluginObject: csSDK_int32) -> prSuiteError>,
pub GetNodeProperty: Option<unsafe extern "C" fn(inVideoNodeID: csSDK_int32, inKey: *const c_char, outValue: *mut PrMemoryPtr) -> prSuiteError>,
pub GetParamCount: Option<unsafe extern "C" fn(inVideoNodeID: csSDK_int32, outParamCount: *mut csSDK_int32) -> prSuiteError>,
pub GetParam: Option<unsafe extern "C" fn(inVideoNodeID: csSDK_int32, inIndex: csSDK_int32, inTime: PrTime, outParam: *mut PrParam) -> prSuiteError>,
pub GetNextKeyframeTime: Option<unsafe extern "C" fn(inVideoNodeID: csSDK_int32, inIndex: csSDK_int32, inTime: PrTime, outKeyframeTime: *mut PrTime, outKeyframeInterpolationMode: *mut csSDK_int32) -> prSuiteError>,
pub TransformNodeTime: Option<unsafe extern "C" fn(inVideoNodeID: csSDK_int32, inTime: PrTime, outTime: *mut PrTime) -> prSuiteError>,
pub GetVideoSegmentsProperties: Option<unsafe extern "C" fn(inTimelineData: PrTimelineID, outBounds: *mut prRect, outPixelAspectRatioNumerator: *mut csSDK_int32, outPixelAspectRatioDenominator: *mut csSDK_int32, outFrameRate: *mut PrTime, outFieldType: *mut prFieldType) -> prSuiteError>,
pub AcquireNodeForTime: Option<unsafe extern "C" fn(inVideoSegmentsID: csSDK_int32, inTime: PrTime, outVideoNodeID: *mut csSDK_int32, outSegmentOffset: *mut PrTime) -> prSuiteError>,
pub AcquireVideoSegmentsIDWithStreamLabel: Option<unsafe extern "C" fn(inTimelineData: PrTimelineID, inStreamLabel: PrSDKStreamLabel, outVideoSegmentsID: *mut csSDK_int32) -> prSuiteError>,
pub AcquireVideoSegmentsWithPreviewsIDWithStreamLabel: Option<unsafe extern "C" fn(inTimelineData: PrTimelineID, inStreamLabel: PrSDKStreamLabel, outVideoSegmentsID: *mut csSDK_int32) -> prSuiteError>,
pub AcquireVideoSegmentsWithOpaquePreviewsIDWithStreamLabel: Option<unsafe extern "C" fn(inTimelineData: PrTimelineID, inStreamLabel: PrSDKStreamLabel, outVideoSegmentsID: *mut csSDK_int32) -> prSuiteError>,
pub AcquireFirstNodeInTimeRange: Option<unsafe extern "C" fn(inVideoSegmentsID: csSDK_int32, inStartTime: PrTime, inEndTime: PrTime, outVideoNodeID: *mut csSDK_int32, outSegmentOffset: *mut PrTime) -> prSuiteError>,
pub AcquireOperatorOwnerNodeID: Option<unsafe extern "C" fn(inVideoNodeID: csSDK_int32, outOwnerNodeID: *mut csSDK_int32) -> prSuiteError>,
pub GetGraphicsTransformedParams: Option<unsafe extern "C" fn(inVideoNodeID: csSDK_int32, inTime: PrTime, outPosition: *mut prFPoint64, outAnchor: *mut prFPoint64, outScale: *mut prFPoint64, outRotation: *mut f32) -> prSuiteError>,
pub HasGraphicsGroup: Option<unsafe extern "C" fn(inVideoNodeID: csSDK_int32, outHasGraphicGroup: *mut bool) -> prSuiteError>,
pub GetGraphicsGroupID: Option<unsafe extern "C" fn(inVideoNodeID: csSDK_int32, outGroupID: *mut csSDK_int32) -> prSuiteError>,
pub GetVideoSegmentsPropertiesExt: Option<unsafe extern "C" fn(inTimelineData: PrTimelineID, outBounds: *mut prRect, outPixelAspectRatioNumerator: *mut csSDK_int32, outPixelAspectRatioDenominator: *mut csSDK_int32, outFrameRate: *mut PrTime, outFieldType: *mut prFieldType, outColorSpaceID: *mut PrSDKColorSpaceID) -> prSuiteError>,
pub AcquireFirstNodeInTimeRangeExt: Option<unsafe extern "C" fn(inVideoSegmentsID: csSDK_int32, inStartTime: PrTime, inEndTime: PrTime, outVideoNodeID: *mut csSDK_int32, outSegmentStartTime: *mut PrTime, outSegmentEndTime: *mut PrTime, outSegmentOffset: *mut PrTime) -> prSuiteError>,
pub GetNodeTimeScale: Option<unsafe extern "C" fn(inVideoNodeID: csSDK_int32, inTime: PrTime, outRate: *mut f64) -> prSuiteError>,
}Fields§
§AcquireVideoSegmentsID: Option<unsafe extern "C" fn(inTimelineData: PrTimelineID, outVideoSegmentsID: *mut csSDK_int32) -> prSuiteError>From a sequence, get an ID to its video segments ID. This is a ref-counted object, and must be released when no longer needed.
@param inTimelineID The plugin timeline ID for the sequence @param outVideoSegmentsID Receives the ID for the Video Segments
AcquireVideoSegmentsWithPreviewsID: Option<unsafe extern "C" fn(inTimelineData: PrTimelineID, outVideoSegmentsID: *mut csSDK_int32) -> prSuiteError>From a sequence, get an ID to its video segments ID with preview files substituted. This is a ref-counted object, and must be released when no longer needed.
@param inTimelineID The plugin timeline ID for the sequence @param outVideoSegmentsID Receives the ID for the Video Segments with Previews.
AcquireVideoSegmentsWithOpaquePreviewsID: Option<unsafe extern "C" fn(inTimelineData: PrTimelineID, outVideoSegmentsID: *mut csSDK_int32) -> prSuiteError>From a sequence, get an ID to its video segments ID with preview files substituted, but only previews for sections that are opaque. This is appropriate for use when using previews for nested sequences. This is a ref-counted object, and must be released when no longer needed.
@param inTimelineID The plugin timeline ID for the sequence @param outVideoSegmentsID Recevies the ID for the Video Segments with Previews.
ReleaseVideoSegmentsID: Option<unsafe extern "C" fn(inVideoSegmentsID: csSDK_int32) -> prSuiteError>Release a Video Segments ID
@param inVideoSegmentsID The Video Segments ID to release
GetHash: Option<unsafe extern "C" fn(inVideoSegmentsID: csSDK_int32, outHash: *mut prPluginID) -> prSuiteError>Get the hash of a Video Segments object
@param inVideoSegmentsID The Video Segments ID @param outHash The GUID hash of the segments
GetSegmentCount: Option<unsafe extern "C" fn(inVideoSegmentsID: csSDK_int32, outNumSegments: *mut csSDK_int32) -> prSuiteError>Get the number of segments in the segments object
@param inVideoSegmentsID The Video Segments ID @param outNumSegments The number of segments
GetSegmentInfo: Option<unsafe extern "C" fn(inVideoSegmentsID: csSDK_int32, inIndex: csSDK_int32, outStartTime: *mut PrTime, outEndTime: *mut PrTime, outSegmentOffset: *mut PrTime, outHash: *mut prPluginID) -> prSuiteError>Get the details of the Nth Node.
@param inVideoSegmentsID The Video Segments ID @param inIndex Which segment? @param outStartTime The start time of the segment @param outEndTime The end time of the segment @param outSegmentOffset The offset value for the segment @param outHash The hash for the segment
AcquireNodeID: Option<unsafe extern "C" fn(inVideoSegmentsID: csSDK_int32, inHash: *mut prPluginID, outVideoNodeID: *mut csSDK_int32) -> prSuiteError>Get a segment node. This object is ref-counted and must be released.
@param inVideoSegmentsID The Video Segments ID @param inHash The hash for the segment @param outVideoNodeID The video node ID.
ReleaseVideoNodeID: Option<unsafe extern "C" fn(inVideoNodeID: csSDK_int32) -> prSuiteError>Release a Video Node ID
@param inVideoNodeID The Video Node ID to release
GetNodeInfo: Option<unsafe extern "C" fn(inVideoNodeID: csSDK_int32, outNodeType: *mut c_char, outHash: *mut prPluginID, outFlags: *mut csSDK_int32) -> prSuiteError>Get details about a node.
@param inVideoNodeID The Video Node ID @param outNodeType A string of size kMaxNodeTypeStringSize holding the node type @param outHash The hash for the node (may be different than the hash used to get the node) @param outInfoFlags The flags for this node (see enum above)
GetNodeInputCount: Option<unsafe extern "C" fn(inVideoNodeID: csSDK_int32, outNumInputs: *mut csSDK_int32) -> prSuiteError>Get the number of inputs on the node object
@param inVideoNodeID The Video Node ID @param outNumInputs The number of inputs
AcquireInputNodeID: Option<unsafe extern "C" fn(inVideoNodeID: csSDK_int32, inIndex: csSDK_int32, outOffset: *mut PrTime, outInputVideoNodeID: *mut csSDK_int32) -> prSuiteError>Get a segment node that is an input to another node. This object is ref-counted and must be released.
@param inVideoNodeID The Video Node ID @param inIndex The index of the input @param outOffset The time offset relative to it’s parent node @param outInputVideoNodeID The video node ID of the input node.
GetNodeOperatorCount: Option<unsafe extern "C" fn(inVideoNodeID: csSDK_int32, outNumOperators: *mut csSDK_int32) -> prSuiteError>Get the number of inputs on the node object
@param inVideoNodeID The Video Node ID @param outNumOperators The number of operators
AcquireOperatorNodeID: Option<unsafe extern "C" fn(inVideoNodeID: csSDK_int32, inIndex: csSDK_int32, outOperatorVideoNodeID: *mut csSDK_int32) -> prSuiteError>Get a segment node that is an operator on another node. This object is ref-counted and must be released.
@param inVideoNodeID The Video Node ID @param inIndex The index of the operator @param outOperatorVideoNodeID The video node ID of the input node.
IterateNodeProperties: Option<unsafe extern "C" fn(inVideoNodeID: csSDK_int32, inCallback: SegmentNodePropertyCallback, inPluginObject: csSDK_int32) -> prSuiteError>Iterate all of the properties on a node.
@param inVideoNodeID The Video Node ID @param inCallback The callback function to return the properties @param inPluginObject The plugin object returned in the callback.
GetNodeProperty: Option<unsafe extern "C" fn(inVideoNodeID: csSDK_int32, inKey: *const c_char, outValue: *mut PrMemoryPtr) -> prSuiteError>Get the value of a single property on a node
@param inVideoNodeID The Video Node ID @param inKey The key of the property @param outValue A string holding the value. This UTF8 string is allocated using PrNewPtr, and ownership is transferred to the plugin and must be disposed by the plugin.
GetParamCount: Option<unsafe extern "C" fn(inVideoNodeID: csSDK_int32, outParamCount: *mut csSDK_int32) -> prSuiteError>Get the number of params
@param inVideoNodeID The Video Node ID @param outParamCount The number of params
GetParam: Option<unsafe extern "C" fn(inVideoNodeID: csSDK_int32, inIndex: csSDK_int32, inTime: PrTime, outParam: *mut PrParam) -> prSuiteError>Get a specific param value at a specific time
@param inVideoNodeID The Video Node ID @param inIndex The index of the param @param inTime The time requested (in Media time) @param outParam The param
GetNextKeyframeTime: Option<unsafe extern "C" fn(inVideoNodeID: csSDK_int32, inIndex: csSDK_int32, inTime: PrTime, outKeyframeTime: *mut PrTime, outKeyframeInterpolationMode: *mut csSDK_int32) -> prSuiteError>Get the next keyframe time after the specified time.
Example: Keyframes at 0 and 10 inTime = -1, outKeyframeTime = 0 inTime = 0, outKeyframeTime = 10 inTime = 9, outKeyframeTime = 10 inTime = 10, returns suiteError_NoKeyframeAfterInTime
@param inVideoNodeID The Video Node ID @param inIndex The index of the param @param inTime The lower bound time @param outKeyframeTime The time of the next keyframe > inTime @param outKeyframeInterpolationMode The temporal interpolation mode of the keyframe, see the enum for PrKeyframeInterpolationModeFlag above
TransformNodeTime: Option<unsafe extern "C" fn(inVideoNodeID: csSDK_int32, inTime: PrTime, outTime: *mut PrTime) -> prSuiteError>Transform a node local time into a time appropriate for node inputs and operators. When used on the clip node, for instance, this will take into account speed change, reverse, time remapping and return a time value which can be used in the Media and Effect nodes. If the node does not have a time transform, function will not fail but will return in input time in the output.
GetVideoSegmentsProperties: Option<unsafe extern "C" fn(inTimelineData: PrTimelineID, outBounds: *mut prRect, outPixelAspectRatioNumerator: *mut csSDK_int32, outPixelAspectRatioDenominator: *mut csSDK_int32, outFrameRate: *mut PrTime, outFieldType: *mut prFieldType) -> prSuiteError>Retrieve general properties of a sequence (video segments). I.e. width/height, par and framerate.
@param inTimelineID The plugin timeline ID for the sequence @param outWidth Receives width of the sequence @param outHeight Receives height of the sequence @param outPixelAspectRatioNumerator Receives the pixel aspect ratio numerator of the sequence @param outPixelAspectRatioDenominator Receives the pixel aspect ratio denominator of the sequence @param outFrameRateNumerator Receives the frame rate numerator of the sequence @param outFrameRateDenominator Receives the frame rate denominator of the sequence
AcquireNodeForTime: Option<unsafe extern "C" fn(inVideoSegmentsID: csSDK_int32, inTime: PrTime, outVideoNodeID: *mut csSDK_int32, outSegmentOffset: *mut PrTime) -> prSuiteError>From a sequence, get a segment node for a requested time. This is a ref-counted object, and must be released when no longer needed.
@param inVideoSegmentsID The Video Segments ID @param inTime Requested segment time @param outVideoNodeID The video node ID @param outSegmentOffset Offset of retrieved segment
AcquireVideoSegmentsIDWithStreamLabel: Option<unsafe extern "C" fn(inTimelineData: PrTimelineID, inStreamLabel: PrSDKStreamLabel, outVideoSegmentsID: *mut csSDK_int32) -> prSuiteError>From a sequence, get an ID to its video segments ID. This is a ref-counted object, and must be released when no longer needed.
@param inTimelineID The plugin timeline ID for the sequence @param outVideoSegmentsID Receives the ID for the Video Segments
AcquireVideoSegmentsWithPreviewsIDWithStreamLabel: Option<unsafe extern "C" fn(inTimelineData: PrTimelineID, inStreamLabel: PrSDKStreamLabel, outVideoSegmentsID: *mut csSDK_int32) -> prSuiteError>From a sequence, get an ID to its video segments ID with preview files substituted. This is a ref-counted object, and must be released when no longer needed.
@param inTimelineID The plugin timeline ID for the sequence @param outVideoSegmentsID Receives the ID for the Video Segments with Previews.
AcquireVideoSegmentsWithOpaquePreviewsIDWithStreamLabel: Option<unsafe extern "C" fn(inTimelineData: PrTimelineID, inStreamLabel: PrSDKStreamLabel, outVideoSegmentsID: *mut csSDK_int32) -> prSuiteError>From a sequence, get an ID to its video segments ID with preview files substituted, but only previews for sections that are opaque. This is appropriate for use when using previews for nested sequences. This is a ref-counted object, and must be released when no longer needed.
@param inTimelineID The plugin timeline ID for the sequence @param outVideoSegmentsID Recevies the ID for the Video Segments with Previews.
AcquireFirstNodeInTimeRange: Option<unsafe extern "C" fn(inVideoSegmentsID: csSDK_int32, inStartTime: PrTime, inEndTime: PrTime, outVideoNodeID: *mut csSDK_int32, outSegmentOffset: *mut PrTime) -> prSuiteError>From a sequence, get the first segment node that intersects with a range of times. This is a ref-counted object, and must be released when no longer needed.
@param inVideoSegmentsID The Video Segments ID @param inStartTime The start of the requested segment time range @param inEndTime The end of the requested segment time range @param outVideoNodeID The video node ID @param outSegmentOffset Offset of retrieved segment
AcquireOperatorOwnerNodeID: Option<unsafe extern "C" fn(inVideoNodeID: csSDK_int32, outOwnerNodeID: *mut csSDK_int32) -> prSuiteError>Acquire the node owning an operator
@param inVideoNodeID The operator @param outOwnerNodeID The owner
GetGraphicsTransformedParams: Option<unsafe extern "C" fn(inVideoNodeID: csSDK_int32, inTime: PrTime, outPosition: *mut prFPoint64, outAnchor: *mut prFPoint64, outScale: *mut prFPoint64, outRotation: *mut f32) -> prSuiteError>Get graphic layer params at a specific time
@param inVideoNodeID The Video Node ID @param inTime The time requested (in Media time)
HasGraphicsGroup: Option<unsafe extern "C" fn(inVideoNodeID: csSDK_int32, outHasGraphicGroup: *mut bool) -> prSuiteError>Get graphic layer group ID
@param inVideoNodeID The Video Node ID
GetGraphicsGroupID: Option<unsafe extern "C" fn(inVideoNodeID: csSDK_int32, outGroupID: *mut csSDK_int32) -> prSuiteError>Get graphic layer group ID
@param inVideoNodeID The Video Node ID
GetVideoSegmentsPropertiesExt: Option<unsafe extern "C" fn(inTimelineData: PrTimelineID, outBounds: *mut prRect, outPixelAspectRatioNumerator: *mut csSDK_int32, outPixelAspectRatioDenominator: *mut csSDK_int32, outFrameRate: *mut PrTime, outFieldType: *mut prFieldType, outColorSpaceID: *mut PrSDKColorSpaceID) -> prSuiteError>Color managed version of GetVideoSegmentsProperties Retrieve general properties of a sequence (video segments). I.e. width/height, par and framerate and color space
@param inTimelineID The plugin timeline ID for the sequence @param outWidth Receives width of the sequence @param outHeight Receives height of the sequence @param outPixelAspectRatioNumerator Receives the pixel aspect ratio numerator of the sequence @param outPixelAspectRatioDenominator Receives the pixel aspect ratio denominator of the sequence @param outFrameRateNumerator Receives the frame rate numerator of the sequence @param outFrameRateDenominator Receives the frame rate denominator of the sequence @param outColorSpaceID Receives the opaque ID of the sequence’s working color space
AcquireFirstNodeInTimeRangeExt: Option<unsafe extern "C" fn(inVideoSegmentsID: csSDK_int32, inStartTime: PrTime, inEndTime: PrTime, outVideoNodeID: *mut csSDK_int32, outSegmentStartTime: *mut PrTime, outSegmentEndTime: *mut PrTime, outSegmentOffset: *mut PrTime) -> prSuiteError>From a sequence, get the first segment node that intersects with a range of times. This is a ref-counted object, and must be released when no longer needed.
@param inVideoSegmentsID The Video Segments ID @param inStartTime The start of the requested segment time range @param inEndTime The end of the requested segment time range @param outVideoNodeID The video node ID @param outSegmentStartTime Start time of retrieved segment @param outSegmentEndTime End time of retrieved segment @param outSegmentOffset Offset of retrieved segment
GetNodeTimeScale: Option<unsafe extern "C" fn(inVideoNodeID: csSDK_int32, inTime: PrTime, outRate: *mut f64) -> prSuiteError>Returns the relative time rate of a node at a given point in time. Node time rate varies with e.g. time remapping but not the playback speed of the sequence Can be thought of as the instantaneous rate of change of TransformNodeTime() @param inVideoNodeID The Video Node ID @param inTime The time requested (in Media time - untransformed) @param outRate The node rate relative to the containing sequence
Trait Implementations§
Source§impl Clone for PrSDKVideoSegmentSuite
impl Clone for PrSDKVideoSegmentSuite
Source§fn clone(&self) -> PrSDKVideoSegmentSuite
fn clone(&self) -> PrSDKVideoSegmentSuite
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more