Property severely delayed

I’m trying to run multiple music streams in parallel, which works.
But if I change the volume, for example, it sometimes takes 2-3 seconds for it to react to the stream. Sometimes it doesn’t react at all.
I control it using a scroll bar.

g_object_set(pipeline.volume, 'volume', vol, nil);

The position display also reacts very slowly

gst_element_query_position(pipeline.pipeline, GST_FORMAT_TIME, &current);

I also have the same problem when setting the position as with volume.

gst_element_seek_simple(pipeline.pipeline, GST_FORMAT_TIME, TGstSeekFlags(0), ms * G_USEC_PER_SEC);

Is this normal, or am I forgetting something important when initializing?

I’m using a new I7, so I don’t think the PC won’t like it.

Without knowing what your pipeline looks like it’s a bit hard to reply.

Keep in mind that if you are modifying the volume on a given element, it will apply it to the data currently being outputted. So if there’s buffering between that element and the audio sink … it’s normal.

Either;

  • Modify the volume on the sink element (instantaneous)
  • Or reduce the amount of buffering (of queue elements) accordingly