Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • gst-editing-services gst-editing-services
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 74
    • Issues 74
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 9
    • Merge requests 9
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GStreamer
  • gst-editing-servicesgst-editing-services
  • Issues
  • #13

Closed
Open
Created 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
Time tracking