Commit graph

17 commits

Author SHA1 Message Date
Thibault Saunier
c834ce5bc4 ges-source: Ensure that we output stream with segments in time
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/198>
2020-07-30 18:44:13 -04:00
Thibault Saunier
3a32247630 uri-source: Respect user stream selection
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/198>
2020-07-30 18:44:13 -04:00
Thibault Saunier
6f7d4ac525 ges: Fix smart rendering
Smart rendering has been broken since, mostly forever, but some code
was there pretending it was supported... let's try to stop pretending.

We now keep track of the smart rendering state in the timeline, track
and sources to be able to:

 * tell decodebin to stop plugging more (decoding elements) as soon as
   downstream supports the format.

 * avoid plugging converters after the source element when smart
   rendering.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/198>
2020-07-30 18:44:13 -04:00
Thibault Saunier
834345b1c8 uri*source: Factor out common logic into a GESUriSource private data
The two classes are *very* close but have different hierarchy so this
introduces a new GESUriSource structure that is used as private
structure by both subclasses and makes most of the logic shared this
way.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/198>
2020-07-30 18:44:13 -04:00
Simon Corsin
a635e48d77 GES: Add GESVideoSource and GESAudioSource base classes
+ Update documentation.
  + Implements subclasses audio-uri-source and video-uri-source
2013-09-03 20:22:32 -04:00
Simon Corsin
c0b6c968d8 ges-source: Move common elements handling to the base class
+ And port all the subclasses
2013-09-03 19:44:31 -04:00
Thibault Saunier
54b10dcbbf trackelement: Simplify the way we handle children properties
So subclass do not have to implement a new logic all the time, but
instead can use a simple method to add properties as needed.
2013-08-27 15:33:45 -04:00
Thibault Saunier
d49efabb93 urisource: Do not let user reset the URI property
This is not supported right now and would lead to unexpected behaviours
2013-06-23 18:43:00 -04:00
Mathieu Duponchelle
9e0632e353 ges: Add a framepositionner element used in ges-smart-mixer and ges-uri-source
It adds metadata on the buffers and the mixer parses them.
This is done because we want to keep positionning properties
and set them on the dynamic mixer pad.

Conflicts:
	ges/Makefile.am
2013-06-23 18:42:59 -04:00
Mathieu Duponchelle
fc182b8026 ges-uri-source: Refactoring work.
+ Categorize functions (Callbacks, vmethods)
	+ make more generic functions for the creation of the bin.
2013-06-23 18:37:40 -04:00
Mathieu Duponchelle
6be4f79ca0 uri-source: Expose the volume property.
+ Make the pspec_hash function an internal util.
	+ Add a create_props_hashtable implementation
	+ If TRACK_TYPE_AUDIO, put the volume properties in the hashtable.
2013-06-23 18:37:40 -04:00
Mathieu Duponchelle
800325db02 uri-source: when creating the audio element, set the volume to the layr volume when necessary. 2013-06-23 18:37:40 -04:00
Mathieu Duponchelle
86b893e54c ges-uri-source: don't use gnlurisource but a custom bin.
+ This bin is a uridecodebin when GES_TRACK_TYPE_VIDEO
	+ This bin contains a uridecodebin and a volume when GES_TRACK_TYPE_AUDIO
2013-06-23 18:37:40 -04:00
Thibault Saunier
40bfdd508a Finish renaming filesource to urisource 2013-05-28 18:27:31 -04:00
Thibault Saunier
0888e5e25b Rename object/tobj/trobj to clip or track_element as necessary
Not really complete but it is a good start!
2013-02-15 16:26:30 -03:00
Thibault Saunier
037b71bc16 Rename GESAssetTrackElement to GESTrackElementAsset 2013-02-15 14:42:06 -03:00
Thibault Saunier
bfef8d77ba Rename TrackFileSource to UriSource 2013-02-15 14:42:06 -03:00
Renamed from ges/ges-track-filesource.c (Browse further)