Hi all. I am trying to generate an AVI file with this pipeline: gst-launch-0.10 videotestsrc is-live=true ! \ 'video/x-raw-yuv,format=(fourcc)I420,width=640,height=480,framerate=(fraction)25/1' ! \ x264enc ! h264parse ! queue ! mux. \ audiotestsrc is-live=true ! audioconvert ! \ >> optional 'audio/x-raw-int,rate=44100,channels=2' ! lame ! queue ! mux. \ >> optional avimux name=mux ! filesink location=test.avi The file that I get can be played using ffplay (for instance), but it can not be played using VLC or Windows Media Player. In the case of VLC, this error appears: [00000418] avi demux error: avi module discarded (invalid file) [00000418] avformat demux error: av_open_input_stream failed I have tried to use a MPEG4 encoder for the video, and even removing the audio part of the pipeline in blue colour, but it happens the same. Any hint? Is an AVIMUX problem? Is there some alternative (other AVI muxer)? Why ffplay plays the file? THANKS in advance! All the best. LD. ------------------------------------------------------------------------------ The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your production scanning environment may not be a perfect world - but thanks to Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700 Series Scanner you'll get full speed at 300 dpi even with all image processing features enabled. http://p.sf.net/sfu/kodak-com _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Maybe h264parse is not needed.
Remove it and try again. Good luck.
|
Hi and thank you yangsb, but even removing the element 'h264parse' the problem is still happening. gst-launch-0.10 videotestsrc is-live=true ! 'video/x-raw-yuv,format=(fourcc)I420,width=640,height=480,framerate=(fraction)25/1' ! x264enc ! queue ! mux. avimux name=mux ! filesink location=testV3.avi vlc testV3.avi [00000418] avi demux error: avi module discarded (invalid file) [00000418] avformat demux error: av_open_input_stream failed I guess that the problem is related with avimux, because if I just change in the pipeline below avimux by flutsmux to generate a .TS file, VLC can open it. Any other suggestion? Thank you very much. LD. yangsb wrote: Maybe h264parse is not needed. Remove it and try again. Good luck. ldac wrote: Hi all. I am trying to generate an AVI file with this pipeline: gst-launch-0.10 videotestsrc is-live=true ! \ 'video/x-raw-yuv,format=(fourcc)I420,width=640,height=480,framerate=(fraction)25/1' ! \ x264enc ! h264parse ! queue ! mux. \ audiotestsrc is-live=true ! audioconvert ! \ >> optional 'audio/x-raw-int,rate=44100,channels=2' ! lame ! queue ! mux. \ >> optional avimux name=mux ! filesink location=test.avi The file that I get can be played using ffplay (for instance), but it can not be played using VLC or Windows Media Player. In the case of VLC, this error appears: [00000418] avi demux error: avi module discarded (invalid file) [00000418] avformat demux error: av_open_input_stream failed I have tried to use a MPEG4 encoder for the video, and even removing the audio part of the pipeline in blue colour, but it happens the same. Any hint? Is an AVIMUX problem? Is there some alternative (other AVI muxer)? Why ffplay plays the file? THANKS in advance! All the best. LD. ------------------------------------------------------------------------------ The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your production scanning environment may not be a perfect world - but thanks to Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700 Series Scanner you'll get full speed at 300 dpi even with all image processing features enabled. http://p.sf.net/sfu/kodak-com _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel ------------------------------------------------------------------------------ The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your production scanning environment may not be a perfect world - but thanks to Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700 Series Scanner you'll get full speed at 300 dpi even with all image processing features enabled. http://p.sf.net/sfu/kodak-com _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Try out the below:
gst-launch-0.10 videotestsrc is-live=true num-buffers=100 ! 'video/x-raw-yuv,format=(fourcc)I420,width=640,height=480,framerate=(fraction)25/1' ! x264enc ! queue ! mux. avimux name=mux ! filesink location=testV3.avi When you are recording from live pipelines and you stop gst-launch with ctrl+c, it simply shuts the pipeline down, no EOS is sent. Some muxers need to send data after they receive EOS to finish the file properly, if no EOS is received the file ends up in an unconsistent state. On Wed, May 6, 2009 at 12:51 PM, ldac <[hidden email]> wrote:
------------------------------------------------------------------------------ The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your production scanning environment may not be a perfect world - but thanks to Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700 Series Scanner you'll get full speed at 300 dpi even with all image processing features enabled. http://p.sf.net/sfu/kodak-com _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Thanks Jyoti, your explanation about the needed of an EOF for the avimux element justifies my problem perfectly. So, I guess that If I am recording an avi file from a live source (v4l or whatever) I should send that EOF before stopping ... But ... Is there some way to send an EOF signal to a pipeline? Is the source element the one who must send that signal? Is enough to send EOF to the avimux element? It is possible? Thanks all again and again. Regards, LD. ------------------------------------------------------------------------------ The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your production scanning environment may not be a perfect world - but thanks to Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700 Series Scanner you'll get full speed at 300 dpi even with all image processing features enabled. http://p.sf.net/sfu/kodak-com _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Yes, use git head (or core release tarballs) and pass -e to gst-launch, this way ctrl+c will send EOS to the pipeline.
On the other way if you are writing an application you can send EOS event on the pipeline.
On Wed, May 6, 2009 at 3:07 PM, ldac <[hidden email]> wrote:
------------------------------------------------------------------------------ The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your production scanning environment may not be a perfect world - but thanks to Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700 Series Scanner you'll get full speed at 300 dpi even with all image processing features enabled. http://p.sf.net/sfu/kodak-com _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
In reply to this post by ldac
Hi all!
I successfully created a buffer: g_print ("\n\nCreating Buffer\n"); buffer = gst_buffer_new(); if(!buffer) g_printerr ("buffer could not be created\n"); else g_print ("Buffer Created\n\n"); And now I want to output all source content in this buffer and when it is full output its content in a sink element. At the moment my pipeline is like that: gst_bin_add_many (GST_BIN (pipeline), source, filesink, NULL); gst_element_link_many (source, filesink, NULL); How can I implement such a feature? I tried inserting the buffer directly in the pipeline but a get the following error: (buffer_analysis:3559): GStreamer-CRITICAL **: gst_bin_add: assertion `GST_IS_ELEMENT (element)' failed Can I get some help? Tks! ------------------- Guilherme Longo Dept. Eng. da Computação Unaerp Linux User - #484927 *Before Asking http://www.istf.com.br/?page=perguntas !- I'd rather die on my feet than live on my knees -! ldac wrote: > Thanks Jyoti, > > your explanation about the needed of an EOF for the avimux element > justifies my problem perfectly. > > So, I guess that If I am recording an avi file from a live source > (v4l or whatever) I should send that EOF before stopping ... But ... Is > there some way to send an EOF signal to a pipeline? Is the source > element the one who must send that signal? Is enough to send EOF to the > avimux element? It is possible? > > Thanks all again and again. > Regards, > LD. > > > ------------------------------------------------------------------------------ > The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your > production scanning environment may not be a perfect world - but thanks to > Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700 > Series Scanner you'll get full speed at 300 dpi even with all image > processing features enabled. http://p.sf.net/sfu/kodak-com > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > ------------------------------------------------------------------------------ The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your production scanning environment may not be a perfect world - but thanks to Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700 Series Scanner you'll get full speed at 300 dpi even with all image processing features enabled. http://p.sf.net/sfu/kodak-com _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Just for reference, I know that I have to specify a buffer size in
case of non-live audio streamer, but my audio comes from a live src (alsasrc). For video the size would be calculated as: size = width * height * bpp; GST_BUFFER_SIZE (buffer) = size GST_BUFFER_MALLOCDATA (buffer) = g_malloc(size); And for a live src??? Tks! ------------------- Guilherme Longo Dept. Eng. da Computação Unaerp Linux User - #484927 *Before Asking http://www.istf.com.br/?page=perguntas !- I'd rather die on my feet than live on my knees -! Guilherme wrote: > Hi all! > > I successfully created a buffer: > > g_print ("\n\nCreating Buffer\n"); buffer = gst_buffer_new(); > if(!buffer) > g_printerr ("buffer could not be created\n"); > else > g_print ("Buffer Created\n\n"); > > And now I want to output all source content in this buffer and when it > is full output its content in a sink element. > > At the moment my pipeline is like that: > > gst_bin_add_many (GST_BIN (pipeline), source, filesink, NULL); > gst_element_link_many (source, filesink, NULL); > > How can I implement such a feature? I tried inserting the buffer > directly in the pipeline but a get the following error: > > (buffer_analysis:3559): GStreamer-CRITICAL **: gst_bin_add: > assertion `GST_IS_ELEMENT (element)' failed > > > Can I get some help? > > Tks! > > ------------------- > > Guilherme Longo > Dept. Eng. da Computação > Unaerp > > Linux User - #484927 > > *Before Asking > http://www.istf.com.br/?page=perguntas > > !- I'd rather die on my feet than live on my knees -! > > > > ldac wrote: >> Thanks Jyoti, >> >> your explanation about the needed of an EOF for the avimux element >> justifies my problem perfectly. >> >> So, I guess that If I am recording an avi file from a live >> source (v4l or whatever) I should send that EOF before stopping ... >> But ... Is there some way to send an EOF signal to a pipeline? Is the >> source element the one who must send that signal? Is enough to send >> EOF to the avimux element? It is possible? >> >> Thanks all again and again. >> Regards, >> LD. >> >> >> ------------------------------------------------------------------------------ >> >> The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your >> production scanning environment may not be a perfect world - but >> thanks to >> Kodak, there's a perfect scanner to get the job done! With the NEW >> KODAK i700 >> Series Scanner you'll get full speed at 300 dpi even with all image >> processing features enabled. http://p.sf.net/sfu/kodak-com >> _______________________________________________ >> gstreamer-devel mailing list >> [hidden email] >> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel >> >> > ------------------------------------------------------------------------------ The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your production scanning environment may not be a perfect world - but thanks to Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700 Series Scanner you'll get full speed at 300 dpi even with all image processing features enabled. http://p.sf.net/sfu/kodak-com _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
In reply to this post by Guilherme Raymo Longo
On Wed, 2009-05-06 at 14:42 -0300, Guilherme wrote:
> At the moment my pipeline is like that: > > gst_bin_add_many (GST_BIN (pipeline), source, filesink, NULL); > gst_element_link_many (source, filesink, NULL); > > How can I implement such a feature? I tried inserting the buffer > directly in the pipeline but a get the following error: > > (buffer_analysis:3559): GStreamer-CRITICAL **: gst_bin_add: > assertion `GST_IS_ELEMENT (element)' failed This usually means that either source or filesink or both are NULL or uninitialised bogus pointers. You can run your code in gdb with the G_DEBUG=fatal_warnings environment variable set, to make it stop at the warning (so you can investigate). If you post your full code, someone might be able to spot the problem. Cheers -Tim ------------------------------------------------------------------------------ The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your production scanning environment may not be a perfect world - but thanks to Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700 Series Scanner you'll get full speed at 300 dpi even with all image processing features enabled. http://p.sf.net/sfu/kodak-com _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Tim, I found my problem.
I was using a invalid element in a pipeline. The question that still pending is how can I get handle of a buffered data?? For example a simple situation: source -> sink I know that data flows from the source src-pad to a buffer than to the sink-pad of the sink element. 1 - Am I able to specify size for that buffer? Cause I want to dump the data in this buffer when its full to another buffer, than I can realize a operation with that second buffer while the first receives more data and so on..! 2 - If the first option isn't a valid option, Is that possible to get handle of data in this first buffer even with the pipeline play. Cause I need to check the input that to perform a transformation with the data. FFT (fast fourier transform) to be more exactly. Since there is no plug-in available to perform that operation I have to do it separately. Great Regards; Tks! ------------------- Guilherme Longo Dept. Eng. da Computação Unaerp Linux User - #484927 *Before Asking http://www.istf.com.br/?page=perguntas !- I'd rather die on my feet than live on my knees -! Tim-Philipp Müller wrote: > On Wed, 2009-05-06 at 14:42 -0300, Guilherme wrote: > >> At the moment my pipeline is like that: >> >> gst_bin_add_many (GST_BIN (pipeline), source, filesink, NULL); >> gst_element_link_many (source, filesink, NULL); >> >> How can I implement such a feature? I tried inserting the buffer >> directly in the pipeline but a get the following error: >> >> (buffer_analysis:3559): GStreamer-CRITICAL **: gst_bin_add: >> assertion `GST_IS_ELEMENT (element)' failed >> > > This usually means that either source or filesink or both are NULL or > uninitialised bogus pointers. You can run your code in gdb with the > G_DEBUG=fatal_warnings environment variable set, to make it stop at the > warning (so you can investigate). > > If you post your full code, someone might be able to spot the problem. > > Cheers > -Tim > > > > ------------------------------------------------------------------------------ > The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your > production scanning environment may not be a perfect world - but thanks to > Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700 > Series Scanner you'll get full speed at 300 dpi even with all image > processing features enabled. http://p.sf.net/sfu/kodak-com > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > ------------------------------------------------------------------------------ The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your production scanning environment may not be a perfect world - but thanks to Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700 Series Scanner you'll get full speed at 300 dpi even with all image processing features enabled. http://p.sf.net/sfu/kodak-com _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
I found the gst_pad_add_data_probe();
I might create a function to manipulate data passing through the sink-pad I want. However, I need to get the name of the pad, but Ive my elements linked with: gst_element_link_many (source, filesink, NULL); Tks! ------------------- Guilherme Longo Dept. Eng. da Computação Unaerp Linux User - #484927 *Before Asking http://www.istf.com.br/?page=perguntas !- I'd rather die on my feet than live on my knees -! Guilherme wrote: > Tim, I found my problem. > I was using a invalid element in a pipeline. > > The question that still pending is how can I get handle of a buffered > data?? > > For example a simple situation: > > source -> sink > I know that data flows from the source src-pad to a buffer than to > the sink-pad of the sink element. > > 1 - Am I able to specify size for that buffer? Cause I want to dump > the data in this buffer when its full to another buffer, than I can > realize a operation with that second buffer while the first receives > more data and so on..! > > 2 - If the first option isn't a valid option, Is that possible to > get handle of data in this first buffer even with the pipeline play. > Cause I need to check the input that to perform a transformation with > the data. FFT (fast fourier transform) to be more exactly. Since there > is no plug-in available to perform that operation I have to do it > separately. > > Great Regards; > > Tks! > > ------------------- > > Guilherme Longo > Dept. Eng. da Computação > Unaerp > > Linux User - #484927 > > *Before Asking > http://www.istf.com.br/?page=perguntas > > !- I'd rather die on my feet than live on my knees -! > > > > Tim-Philipp Müller wrote: >> On Wed, 2009-05-06 at 14:42 -0300, Guilherme wrote: >> >>> At the moment my pipeline is like that: >>> gst_bin_add_many (GST_BIN (pipeline), source, filesink, NULL); >>> gst_element_link_many (source, filesink, NULL); >>> >>> How can I implement such a feature? I tried inserting the buffer >>> directly in the pipeline but a get the following error: >>> >>> (buffer_analysis:3559): GStreamer-CRITICAL **: gst_bin_add: >>> assertion `GST_IS_ELEMENT (element)' failed >>> >> >> This usually means that either source or filesink or both are NULL or >> uninitialised bogus pointers. You can run your code in gdb with the >> G_DEBUG=fatal_warnings environment variable set, to make it stop at the >> warning (so you can investigate). >> >> If you post your full code, someone might be able to spot the problem. >> >> Cheers >> -Tim >> >> >> >> ------------------------------------------------------------------------------ >> >> The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your >> production scanning environment may not be a perfect world - but >> thanks to >> Kodak, there's a perfect scanner to get the job done! With the NEW >> KODAK i700 >> Series Scanner you'll get full speed at 300 dpi even with all image >> processing features enabled. http://p.sf.net/sfu/kodak-com >> _______________________________________________ >> gstreamer-devel mailing list >> [hidden email] >> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel >> >> > ------------------------------------------------------------------------------ The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your production scanning environment may not be a perfect world - but thanks to Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700 Series Scanner you'll get full speed at 300 dpi even with all image processing features enabled. http://p.sf.net/sfu/kodak-com _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
In reply to this post by Guilherme Raymo Longo
On Wed, 2009-05-06 at 15:38 -0300, Guilherme wrote:
> The question that still pending is how can I get handle of a buffered data?? > > For example a simple situation: > > source -> sink > > I know that data flows from the source src-pad to a buffer than to > the sink-pad of the sink element. You could set up a buffer probe on the pad, or you could insert an identity element and connect to the "handoff" signal to get to the GstBuffers as they're being pushed through the pipeline. > 1 - Am I able to specify size for that buffer? That depends on the source really. > Cause I want to dump the data in this buffer when its full to another > buffer, than I can realize a operation with that second buffer while > the first receives more data and so on..! Buffers aren't really "filled" like that in GStreamer (with the exception of the ringbuffers in the audio sink/sources maybe), a buffer is more akin to a chunk of malloc'ed data that's being passed through the pipeline. > 2 - If the first option isn't a valid option, Is that possible to > get handle of data in this first buffer even with the pipeline play. > Cause I need to check the input that to perform a transformation with > the data. FFT (fast fourier transform) to be more exactly. Since there > is no plug-in available to perform that operation I have to do it > separately. It would be much easier if you would just describe what exactly you eventually want to achieve, rather than make us guess by working backwards from the low-level details you mention. You might want to check out the 'spectrum' element btw. Cheers -Tim ------------------------------------------------------------------------------ The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your production scanning environment may not be a perfect world - but thanks to Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700 Series Scanner you'll get full speed at 300 dpi even with all image processing features enabled. http://p.sf.net/sfu/kodak-com _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
In reply to this post by Guilherme Raymo Longo
Even if I use gst_element_get_static_pad I'm unable to specify the pad
name as the pad was created automatically when I linking the elements with gst_element_link_many ;/ Is that possible to retrieve pads even when they are created automatically? Tks! ------------------- Guilherme Longo Dept. Eng. da Computação Unaerp Linux User - #484927 *Before Asking http://www.istf.com.br/?page=perguntas !- I'd rather die on my feet than live on my knees -! Guilherme wrote: > I found the gst_pad_add_data_probe(); > > I might create a function to manipulate data passing through the > sink-pad I want. > > However, I need to get the name of the pad, but Ive my elements linked > with: > > gst_element_link_many (source, filesink, NULL); > > > > > Tks! > > ------------------- > > Guilherme Longo > Dept. Eng. da Computação > Unaerp > > Linux User - #484927 > > *Before Asking > http://www.istf.com.br/?page=perguntas > > !- I'd rather die on my feet than live on my knees -! > > > > Guilherme wrote: >> Tim, I found my problem. >> I was using a invalid element in a pipeline. >> >> The question that still pending is how can I get handle of a buffered >> data?? >> >> For example a simple situation: >> >> source -> sink I know that data flows from the source >> src-pad to a buffer than to the sink-pad of the sink element. >> >> 1 - Am I able to specify size for that buffer? Cause I want to >> dump the data in this buffer when its full to another buffer, than I >> can realize a operation with that second buffer while the first >> receives more data and so on..! >> >> 2 - If the first option isn't a valid option, Is that possible to >> get handle of data in this first buffer even with the pipeline play. >> Cause I need to check the input that to perform a transformation with >> the data. FFT (fast fourier transform) to be more exactly. Since >> there is no plug-in available to perform that operation I have to do >> it separately. >> >> Great Regards; >> >> Tks! >> >> ------------------- >> >> Guilherme Longo >> Dept. Eng. da Computação >> Unaerp >> >> Linux User - #484927 >> >> *Before Asking >> http://www.istf.com.br/?page=perguntas >> >> !- I'd rather die on my feet than live on my knees -! >> >> >> >> Tim-Philipp Müller wrote: >>> On Wed, 2009-05-06 at 14:42 -0300, Guilherme wrote: >>> >>>> At the moment my pipeline is like that: >>>> gst_bin_add_many (GST_BIN (pipeline), source, filesink, >>>> NULL); >>>> gst_element_link_many (source, filesink, NULL); >>>> >>>> How can I implement such a feature? I tried inserting the buffer >>>> directly in the pipeline but a get the following error: >>>> >>>> (buffer_analysis:3559): GStreamer-CRITICAL **: gst_bin_add: >>>> assertion `GST_IS_ELEMENT (element)' failed >>>> >>> >>> This usually means that either source or filesink or both are NULL or >>> uninitialised bogus pointers. You can run your code in gdb with the >>> G_DEBUG=fatal_warnings environment variable set, to make it stop at the >>> warning (so you can investigate). >>> >>> If you post your full code, someone might be able to spot the problem. >>> >>> Cheers >>> -Tim >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> >>> The NEW KODAK i700 Series Scanners deliver under ANY circumstances! >>> Your >>> production scanning environment may not be a perfect world - but >>> thanks to >>> Kodak, there's a perfect scanner to get the job done! With the NEW >>> KODAK i700 >>> Series Scanner you'll get full speed at 300 dpi even with all image >>> processing features enabled. http://p.sf.net/sfu/kodak-com >>> _______________________________________________ >>> gstreamer-devel mailing list >>> [hidden email] >>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel >>> >>> >> > ------------------------------------------------------------------------------ The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your production scanning environment may not be a perfect world - but thanks to Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700 Series Scanner you'll get full speed at 300 dpi even with all image processing features enabled. http://p.sf.net/sfu/kodak-com _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
In reply to this post by Tim-Philipp Müller-2
Tim, I just thought that a superficial description wouldn't help.
What I need exactly is: I have a pipeline getting the sound from alsasrc. I need to get all the data passing through the pipeline to make a conversion. I'm going to use fftw library to listen to that sound and gimme as a result 2 content that is going to be stored in 2 variables. Basically fftw will get the input audio and gimme 2 graphs: (frequency x amp) and (phase diagram) That's why I need to get handle of the data passing through the pipeline. The thing is this is a live streaming so it is a little more complicated than reading from a file. These 2 solutions you gave me is valid for my case? Thanks Tim! Tks! ------------------- Guilherme Longo Dept. Eng. da Computação Unaerp Linux User - #484927 *Before Asking http://www.istf.com.br/?page=perguntas !- I'd rather die on my feet than live on my knees -! Tim-Philipp Müller wrote: > On Wed, 2009-05-06 at 15:38 -0300, Guilherme wrote: > > >> The question that still pending is how can I get handle of a buffered data?? >> >> For example a simple situation: >> >> source -> sink >> >> I know that data flows from the source src-pad to a buffer than to >> the sink-pad of the sink element. >> > > You could set up a buffer probe on the pad, or you could insert an > identity element and connect to the "handoff" signal to get to the > GstBuffers as they're being pushed through the pipeline. > > >> 1 - Am I able to specify size for that buffer? >> > > That depends on the source really. > > >> Cause I want to dump the data in this buffer when its full to another >> buffer, than I can realize a operation with that second buffer while >> the first receives more data and so on..! >> > > Buffers aren't really "filled" like that in GStreamer (with the > exception of the ringbuffers in the audio sink/sources maybe), a buffer > is more akin to a chunk of malloc'ed data that's being passed through > the pipeline. > > >> 2 - If the first option isn't a valid option, Is that possible to >> get handle of data in this first buffer even with the pipeline play. >> Cause I need to check the input that to perform a transformation with >> the data. FFT (fast fourier transform) to be more exactly. Since there >> is no plug-in available to perform that operation I have to do it >> separately. >> > > It would be much easier if you would just describe what exactly you > eventually want to achieve, rather than make us guess by working > backwards from the low-level details you mention. > > You might want to check out the 'spectrum' element btw. > > Cheers > -Tim > > > > ------------------------------------------------------------------------------ > The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your > production scanning environment may not be a perfect world - but thanks to > Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700 > Series Scanner you'll get full speed at 300 dpi even with all image > processing features enabled. http://p.sf.net/sfu/kodak-com > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > ------------------------------------------------------------------------------ The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your production scanning environment may not be a perfect world - but thanks to Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700 Series Scanner you'll get full speed at 300 dpi even with all image processing features enabled. http://p.sf.net/sfu/kodak-com _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |