[−][src]Trait gstreamer_editing_services::prelude::ProjectExt
Required methods
fn add_asset<P: IsA<Asset>>(&self, asset: &P) -> bool
Adds a Asset to self, the project will keep a reference on
asset.
asset
A Asset to add to self
Returns
true if the asset could be added false it was already
in the project
fn add_encoding_profile<P: IsA<EncodingProfile>>(
&self,
profile: &P
) -> Result<(), BoolError>
&self,
profile: &P
) -> Result<(), BoolError>
Adds profile to the project. It lets you save in what format
the project has been renders and keep a reference to those formats.
Also, those formats will be saves to the project file when possible.
profile
A gst_pbutils::EncodingProfile to add to the project. If a profile with
the same name already exists, it will be replaced
Returns
true if profile could be added, false otherwize
fn create_asset(&self, id: Option<&str>, extractable_type: Type) -> bool
Create and add a Asset to self. You should connect to the
"asset-added" signal to get the asset when it finally gets added to
self
id
The id of the asset to create and add to self
extractable_type
The glib::Type of the asset to create
Returns
true if the asset started to be added false it was already
in the project
fn create_asset_sync(
&self,
id: Option<&str>,
extractable_type: Type
) -> Result<Option<Asset>, Error>
&self,
id: Option<&str>,
extractable_type: Type
) -> Result<Option<Asset>, Error>
Create and add a Asset to self. You should connect to the
"asset-added" signal to get the asset when it finally gets added to
self
id
The id of the asset to create and add to self
extractable_type
The glib::Type of the asset to create
Returns
The newly created Asset or None.
fn get_asset(&self, id: &str, extractable_type: Type) -> Option<Asset>
id
The id of the asset to retrieve
extractable_type
The extractable_type of the asset
to retrieve from object
Returns
The Asset with
id or None if no asset with id as an ID
fn get_loading_assets(&self) -> Vec<Asset>
Get the assets that are being loaded
Returns
A set of loading asset
that will be added to self. Note that those Asset are not loaded yet,
and thus can not be used
fn get_uri(&self) -> Option<GString>
fn list_assets(&self, filter: Type) -> Vec<Asset>
List all asset contained in self filtering per extractable_type
as defined by filter. It copies the asset and thus will not be updated
in time.
filter
Type of assets to list, GES_TYPE_EXTRACTABLE will list
all assets
Returns
The list of
Asset the object contains
fn list_encoding_profiles(&self) -> Vec<EncodingProfile>
Lists the encoding profile that have been set to self. The first one
is the latest added.
Returns
The
list of gst_pbutils::EncodingProfile used in self
fn load<P: IsA<Timeline>>(&self, timeline: &P) -> Result<(), Error>
Loads self into timeline
timeline
A blank timeline to load self into
Returns
true if the project could be loaded false otherwize.
fn remove_asset<P: IsA<Asset>>(&self, asset: &P) -> Result<(), BoolError>
remove a asset to from self.
asset
A Asset to remove from self
Returns
true if the asset could be removed false otherwise
fn save<P: IsA<Timeline>, Q: IsA<Asset>>(
&self,
timeline: &P,
uri: &str,
formatter_asset: Option<&Q>,
overwrite: bool
) -> Result<(), Error>
&self,
timeline: &P,
uri: &str,
formatter_asset: Option<&Q>,
overwrite: bool
) -> Result<(), Error>
Save the timeline of self to uri. You should make sure that timeline
is one of the timelines that have been extracted from self
(using ges_asset_extract (self);)
timeline
The Timeline to save, it must have been extracted from self
uri
The uri where to save self and timeline
formatter_asset
The formatter asset to
use or None. If None, will try to save in the same format as the one
from which the timeline as been loaded or default to the best formatter
as defined in ges_find_formatter_for_uri
overwrite
true to overwrite file if it exists
Returns
true if the project could be save, false otherwize
fn connect_asset_added<F: Fn(&Self, &Asset) + 'static>(
&self,
f: F
) -> SignalHandlerId
&self,
f: F
) -> SignalHandlerId
asset
The Asset that has been added to project
fn connect_asset_loading<F: Fn(&Self, &Asset) + 'static>(
&self,
f: F
) -> SignalHandlerId
&self,
f: F
) -> SignalHandlerId
asset
The Asset that started loading
fn connect_asset_removed<F: Fn(&Self, &Asset) + 'static>(
&self,
f: F
) -> SignalHandlerId
&self,
f: F
) -> SignalHandlerId
asset
The Asset that has been removed from project
fn connect_error_loading<F: Fn(&Self, &Timeline, &Error) + 'static>(
&self,
f: F
) -> SignalHandlerId
&self,
f: F
) -> SignalHandlerId
Feature: v1_18
timeline
The timeline that failed loading
error
The glib::Error defining the error that occured
fn connect_error_loading_asset<F: Fn(&Self, &Error, &str, Type) + 'static>(
&self,
f: F
) -> SignalHandlerId
&self,
f: F
) -> SignalHandlerId
Informs you that a Asset could not be created. In case of
missing GStreamer plugins, the error will be set to GST_CORE_ERROR
gst::CoreError::MissingPlugin
error
The glib::Error defining the error that occured, might be None
id
The id of the asset that failed loading
extractable_type
The extractable_type of the asset that
failed loading
fn connect_loaded<F: Fn(&Self, &Timeline) + 'static>(
&self,
f: F
) -> SignalHandlerId
&self,
f: F
) -> SignalHandlerId
timeline
The Timeline that completed loading
fn connect_loading<F: Fn(&Self, &Timeline) + 'static>(
&self,
f: F
) -> SignalHandlerId
&self,
f: F
) -> SignalHandlerId
fn connect_missing_uri<F: Fn(&Self, &Error, &Asset) -> Option<GString> + 'static>(
&self,
f: F
) -> SignalHandlerId
&self,
f: F
) -> SignalHandlerId
static gchar
source_moved_cb (GESProject *project, GError *error, GESAsset *asset_with_error)
{
return g_strdup ("file:///the/new/uri.ogg");
}
static int
main (int argc, gchar ** argv)
{
GESTimeline *timeline;
GESProject *project = ges_project_new ("file:///some/uri.xges");
g_signal_connect (project, "missing-uri", source_moved_cb, NULL);
timeline = ges_asset_extract (GES_ASSET (project));
}
error
The error that happened
wrong_asset
The asset with the wrong ID, you should us it and its content only to find out what the new location is.
Returns
The new URI of wrong_asset
Implementors
impl<O: IsA<Project>> ProjectExt for O[src]
fn add_asset<P: IsA<Asset>>(&self, asset: &P) -> bool[src]
fn add_encoding_profile<P: IsA<EncodingProfile>>(
&self,
profile: &P
) -> Result<(), BoolError>[src]
&self,
profile: &P
) -> Result<(), BoolError>
fn create_asset(&self, id: Option<&str>, extractable_type: Type) -> bool[src]
fn create_asset_sync(
&self,
id: Option<&str>,
extractable_type: Type
) -> Result<Option<Asset>, Error>[src]
&self,
id: Option<&str>,
extractable_type: Type
) -> Result<Option<Asset>, Error>
fn get_asset(&self, id: &str, extractable_type: Type) -> Option<Asset>[src]
fn get_loading_assets(&self) -> Vec<Asset>[src]
fn get_uri(&self) -> Option<GString>[src]
fn list_assets(&self, filter: Type) -> Vec<Asset>[src]
fn list_encoding_profiles(&self) -> Vec<EncodingProfile>[src]
fn load<P: IsA<Timeline>>(&self, timeline: &P) -> Result<(), Error>[src]
fn remove_asset<P: IsA<Asset>>(&self, asset: &P) -> Result<(), BoolError>[src]
fn save<P: IsA<Timeline>, Q: IsA<Asset>>(
&self,
timeline: &P,
uri: &str,
formatter_asset: Option<&Q>,
overwrite: bool
) -> Result<(), Error>[src]
&self,
timeline: &P,
uri: &str,
formatter_asset: Option<&Q>,
overwrite: bool
) -> Result<(), Error>
fn connect_asset_added<F: Fn(&Self, &Asset) + 'static>(
&self,
f: F
) -> SignalHandlerId[src]
&self,
f: F
) -> SignalHandlerId
fn connect_asset_loading<F: Fn(&Self, &Asset) + 'static>(
&self,
f: F
) -> SignalHandlerId[src]
&self,
f: F
) -> SignalHandlerId
fn connect_asset_removed<F: Fn(&Self, &Asset) + 'static>(
&self,
f: F
) -> SignalHandlerId[src]
&self,
f: F
) -> SignalHandlerId
fn connect_error_loading<F: Fn(&Self, &Timeline, &Error) + 'static>(
&self,
f: F
) -> SignalHandlerId[src]
&self,
f: F
) -> SignalHandlerId
fn connect_error_loading_asset<F: Fn(&Self, &Error, &str, Type) + 'static>(
&self,
f: F
) -> SignalHandlerId[src]
&self,
f: F
) -> SignalHandlerId
fn connect_loaded<F: Fn(&Self, &Timeline) + 'static>(
&self,
f: F
) -> SignalHandlerId[src]
&self,
f: F
) -> SignalHandlerId
fn connect_loading<F: Fn(&Self, &Timeline) + 'static>(
&self,
f: F
) -> SignalHandlerId[src]
&self,
f: F
) -> SignalHandlerId
fn connect_missing_uri<F: Fn(&Self, &Error, &Asset) -> Option<GString> + 'static>(
&self,
f: F
) -> SignalHandlerId[src]
&self,
f: F
) -> SignalHandlerId