Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
gst-editing-services
gst-editing-services
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 77
    • Issues 77
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 10
    • Merge Requests 10
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GStreamer
  • gst-editing-servicesgst-editing-services
  • Issues
  • #13

Closed
Open
Opened Dec 05, 2013 by Bugzilla Migration User@bugzilla-migration

GES needs a ges_clip_find_all_track_elements function

Submitted by Kim Lam

Link to original bug (#719878)

Description

In order to set volume and mute state for a clip with Dual Mono audio a ges_clip_find_all_track_elements is needed. Dual Mono files produces two audio track elements.

Something like the code below would work, but there's probably a more efficient way, since most of code is taken from ges_clip_find_track_element.

GList *
ges_clip_find_all_track_elements (GESClip * clip, GESTrack * track, GType type)
{
GList *tmp;
GESTrackElement *otmp;
GESTrackElement *foundElement;
GList *ret = NULL;

g_return_val_if_fail (GES_IS_CLIP (clip), NULL);
g_return_val_if_fail (!(track == NULL && type == G_TYPE_NONE), NULL);

for (tmp = GES_CONTAINER_CHILDREN (clip); tmp; tmp = g_list_next (tmp)) {
otmp = (GESTrackElement *) tmp->data;

if ((type != G_TYPE_NONE) && !G_TYPE_CHECK_INSTANCE_TYPE (tmp->data, type))  
  continue;  

if ((track == NULL) || (ges_track_element_get_track (otmp) == track)) {  
  foundElement = GES_TRACK_ELEMENT (tmp->data);  
  gst_object_ref (foundElement);  
  ret =  g_list_append(ret,foundElement);  
}  

}

return ret;
}

Version: 1.2.0

Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: gstreamer/gst-editing-services#13