AVI format error

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

AVI format error

ldac

    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
Reply | Threaded
Open this post in threaded view
|

Re: AVI format error

yangsb
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
gstreamer-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: AVI format error

ldac

    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
Reply | Threaded
Open this post in threaded view
|

Re: AVI format error

Jyoti-2
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:

    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:
  
&nbsp;&nbsp;&nbsp; Hi all. 

&nbsp;&nbsp;&nbsp; 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 !
\&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&gt;&gt; optional 
'audio/x-raw-int,rate=44100,channels=2' ! lame ! queue ! mux.
\&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&gt;&gt; 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 

&nbsp;&nbsp;&nbsp; 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. 

&nbsp;&nbsp;&nbsp; Any hint? Is an AVIMUX problem? Is there some
alternative (other
AVI muxer)? Why ffplay plays the file? 

&nbsp;&nbsp;&nbsp; THANKS in advance! 
&nbsp;&nbsp;&nbsp; All the best. 
&nbsp;&nbsp;&nbsp; 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



------------------------------------------------------------------------------
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
Reply | Threaded
Open this post in threaded view
|

Re: AVI format error

ldac

    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
Reply | Threaded
Open this post in threaded view
|

Re: AVI format error

Jyoti-2
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:

   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
Reply | Threaded
Open this post in threaded view
|

GStreamer-CRITICAL **: gst_bin_add: assertion `GST_IS_ELEMENT (element)' failed

Guilherme Raymo Longo
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
Reply | Threaded
Open this post in threaded view
|

Re: GStreamer-CRITICAL **: gst_bin_add: assertion `GST_IS_ELEMENT (element)' failed

Guilherme Raymo Longo
    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
Reply | Threaded
Open this post in threaded view
|

Re: GStreamer-CRITICAL **: gst_bin_add: assertion `GST_IS_ELEMENT (element)' failed

Tim-Philipp Müller-2
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
Reply | Threaded
Open this post in threaded view
|

Re: GStreamer-CRITICAL **: gst_bin_add: assertion `GST_IS_ELEMENT (element)' failed

Guilherme Raymo Longo
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
Reply | Threaded
Open this post in threaded view
|

Re: GStreamer-CRITICAL **: gst_bin_add: assertion `GST_IS_ELEMENT (element)' failed

Guilherme Raymo Longo
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
Reply | Threaded
Open this post in threaded view
|

Re: GStreamer-CRITICAL **: gst_bin_add: assertion `GST_IS_ELEMENT (element)' failed

Tim-Philipp Müller-2
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
Reply | Threaded
Open this post in threaded view
|

Re: GStreamer-CRITICAL **: gst_bin_add: assertion `GST_IS_ELEMENT (element)' failed

Guilherme Raymo Longo
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
Reply | Threaded
Open this post in threaded view
|

Re: GStreamer-CRITICAL **: gst_bin_add: assertion `GST_IS_ELEMENT (element)' failed

Guilherme Raymo Longo
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