add a variable delay to an audio stream

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

add a variable delay to an audio stream

Stefano
Hi all,

I know that someone has already asked for this, but I can't find a solution.
I need to introduce in the audio stream of one branch of my pipeline a variable delay.
I try using an audiofirfilter but I think it's not a good solution since the kernel of the filter could have even thousands of elements, but only the last of them is different from zero. So it seems a waste of resources, and also sometimes I get an error while playing. Could the error be because the kernel is too big? Or because I modify the kernel while playing?
Could a solution be use a data buffer probe or an identity element in order to modify the timestamp of the buffer? But there are two problems:
gst_buffer_is_metadata_writable tells me that the data is not writable, and anyway even if I modify the timestamp I don't get any effect.

is there anybody who has had the same problem and has solved it in some way?


Thank you for your help in advance,
Stefano

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: add a variable delay to an audio stream

Stefan Sauer
On 07/15/11 23:54, Stefano D'Aronco wrote:

> Hi all,
>
> I know that someone has already asked for this, but I can't find a
> solution.
> I need to introduce in the audio stream of one branch of my pipeline a
> variable delay.
> I try using an audiofirfilter but I think it's not a good solution
> since the kernel of the filter could have even thousands of elements,
> but only the last of them is different from zero. So it seems a waste
> of resources, and also sometimes I get an error while playing. Could
> the error be because the kernel is too big? Or because I modify the
> kernel while playing?
> Could a solution be use a data buffer probe or an identity element in
> order to modify the timestamp of the buffer? But there are two problems:
> gst_buffer_is_metadata_writable tells me that the data is not
> writable, and anyway even if I modify the timestamp I don't get any
> effect.

You would probably need to insert a silent (gap) buffer and modify the
timestamp.

There is also a bug for what sounds a similar request:
https://bugzilla.gnome.org/show_bug.cgi?id=653601

personally I'd prefer an element like in
https://bugzilla.gnome.org/show_bug.cgi?id=641024
which would work for audio and video. It could (optionally) insert
gap-buffers for padding (when increasing the delay) or drop buffers
(when lowering the delay).

Stefan

>
> is there anybody who has had the same problem and has solved it in
> some way?
>
>
> Thank you for your help in advance,
> Stefano
>
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel