[gst-devel] [gstreamer] Problem with pulling data from a sink pad
iain at prettypeople.org
Tue Dec 23 08:35:03 CET 2003
On Tue, 2003-12-23 at 17:17 +0100, Thomas Vander Stichele wrote:
> > Caching/peak levels
> You'll need to be more verbose :) What sort of caching are you doing
> that could not be implemented through GStreamer ? Same for peak levels -
> I even have plug-ins that do that.
To display waveform data you need to make peakfiles.
A peak file takes the frames per pixel (defaults to 4096) and works out
what the peak of that is. It then writes this all to the disk. I can
then get the displayed peak for a certain point by
peak_data[position / frames_per_pixel];
To do it in GStreamer would be a seek to the position
Read frames_per_pixel frames and feed them though your peak level thing.
I'm sticking with my method, thanks very much.
Please don't try to make GStreamer fit every possible solution
It doesn't work.
> > mmapping huge data to disk so that I can jump around it at will
> > without having to send a seek event, run the pipeline to get 2 frames of
> > data, send another seek event, run pipeline again...
> Again. What are you doing to jump around at will ?
Its a Non linear audio editor.
Why do you think I might be jumping around in a non-linear fashion?
To answer my rhetorical question:
To redraw the waveform data on expose events is the major reason.
> I'm not saying it is, but I'm pretty sure there are more things that
> marlin claims it can only handle through custom code that could be moved
> to plugins.
Yes, there are and I will be working to fix those areas.
However this is not IMO one of them.
More information about the gstreamer-devel