From: sudarshan b. <bis...@gm...> - 2008-11-06 05:25:53
|
Hi Irfan , U r right data is pushed on src pad . On Tue, Oct 21, 2008 at 6:58 PM, Irfan Shaikh <irf...@ta...>wrote: > > Thanks a lot Sudarshan.... > > The sample code which you have send is really helping me a lot. > > If i am not wrong, I think-------- gst_pad_push(sinkpad, my_buffer) should > be like------ gst_pad_push(asfparse->srcpad, my_buffer). > > Am i corrrect ? > > Thanks a lot for your help and support, > Regards, > Irfan > > > > -----Original Message----- > From: sudarshan bisht [mailto:bis...@gm...<bis...@gm...> > ] > Sent: Tue 10/21/2008 6:44 PM > To: Discussion of the development of GStreamer > Subject: Re: [gst-devel] Size of output buffer > > Hi Irfan , > > I think here no need to use circular buffer , because the buffer > which u receive in ur plugin , u have to unref that after properly copying > required buffer from that . And the buffer which ul allocate in your > plugin > will be sent u next element thus will be unref by the next element . > > I am writing a piece of code , may give u some hint :- > > asf_parser_plugin_chain(GstPad pad, GstBuffer *buffer) > { > > gint packet_size=0; > GstBuffer *my_buffer=NULL; > > packet_size = parse_buffer(GST_BUFFER_DATA(buffer) ); // get > the packet size > > my_buffer=gst_buffer_new_and_alloc ( packet_size ); > > > memcpy(GST_BUFFER_DATA( my_buffer), GST_BUFFER_DATA(buffer), packet_size > ); // can use other APIs also provided by GstBuffer ( > > http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html > ) > > gst_pad_push(sinkpad, my_buffer); > > gst_buffer_unref(buffer) ; // check if u have copied all the data > > return GST_FLOW_OK ; > } > > > > > > > > > > > On Tue, Oct 21, 2008 at 5:13 PM, Irfan Shaikh > <irf...@ta...>wrote: > > > Hi sudarshan, > > > > Thanks a lot for your reply. I am pretty clear now. > > > > Earlier i had decided some other appoach as follows: > > SO now i think i should not use A circular buffer, directly i > can > > use the existing Gstreamer buffer ritee ?? > > > > Thanks for your reply. > > > > Regarding my query : > > 1)I have written an ASF parser code which reads an ASF file from a > > file location path. > > 2)It uses fseek and fread to read the data from file in a temperory > > buffer > > 3)It uses the temporary buffer to parse the ASf headers > > 4)Lastly collect the ASF data packets after parsing the headers > into > > another temperory bufffer (tempbuf). > > 5) When i make ASF parser as gstreamer plugin, i will use > > gst_pad_push (asfparse->srcpad, tempbuf); > > > > I am clear about the output interface when i make the ASF parser as > > gstreamer plug-in. > > > > Actual scenario: > > > > 1) Input module to ASF parser plug-in is output from "ffmux_asf" > > which will be in form of data buffers. > > 2) I will need some buffer to collect these data buffers > > 3) I thought of having a "Circular buffer" to take input from > > ffmux_asf.{Is it feasible to use a normal buffer like uint8_t *Newbuf to > > collect > > data buffers from ffmux_asf ?? {If YES. How much memory should i > > allocate for NewBuf}} > > 4) Since my application is related to Live Streaming the buffer > > NewBuf size can be huge. > > 5) Circular buffer would have been useful.Since i will free the > > memory as soon as i read the Circular buffer. > > 6) I can use pointer operations similar to file operations > > > > In gstreamer i have GstBuffer *buf, If i use circular buffer how can i > use > > the existing "buf". > > > > Regards, > > Irfan. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -----Original Message----- > > From: sudarshan bisht [mailto:bis...@gm...<bis...@gm...> > <bis...@gm...> > > ] > > Sent: Tue 10/21/2008 4:53 PM > > To: Discussion of the development of GStreamer > > Subject: Re: [gst-devel] Size of output buffer > > > > HI Irfan , > > You are trying to write a ASF Parser plugin which will be > > used > > after ffmux_asf in pipeline . > > Now you want to parse data packets and send them to next element . > > > > The buffer you get from ffmux_asf is already allocated so you dont > need > > to allocated a separate buffer for that . > > To know the size of input buffer in your ASF Parser plugin you can use > > GST_BUFFER_SIZE(buffer) . > > So now you have to parse data part of this buffer , because data > part > > of the buffer have the actual data . > > For your outgoing packets allocate one more GstBuffer and copy the > > required number of bytes of data from received buffer to this buffer and > > push this buffer to next element. > > > > You can use adapter APIs also to make it simpler . Read GstBuffer APIs > > thoroughly for good practice. > > > > > > > > On Tue, Oct 21, 2008 at 3:59 PM, Irfan Shaikh > > <irf...@ta...>wrote: > > > > > > > > > > > > > > -----Original Message----- > > > From: sudarshan bisht [mailto:bis...@gm...<bis...@gm...> > <bis...@gm...> > > <bis...@gm...> > > > ] > > > Sent: Tue 10/21/2008 2:25 PM > > > To: Discussion of the development of GStreamer > > > Subject: Re: [gst-devel] Size of output buffer > > > > > > Hi > > > > > > "gst_pad_push_event" function pushes only events ( EOS , new segment > etc > > ) > > > not buffer , in order to push buffer use "gst_pad_push" api . > > > > > > On Tue, Oct 21, 2008 at 1:58 PM, Irfan Shaikh > > > <irf...@ta...>wrote: > > > > > > > > > > > Hi Julien, > > > > > > > > Thanks for your reply.. > > > > > > > > For ffmux_asf plug-in in gstffmpegmux.c. > > > > > > > > Is "gst_pad_push_event" is the fuction which pushes the buffer > > which > > > > has ASF data into sink pad of next elemnt ? > > > > i.e. gst_pad_push_event (ffmpegmux->srcpad, gst_event_new_eos > ()); > > > > When i checked the sise of buffer its variable in size. > > > > > > > > > > > > I need to allocate buffer for the next module to "ffmux_asf". > > Which > > > > is an asf parse. i need to allocate buffer in asf parser plugin. I > > wanted > > > to > > > > know what size of buffer should i allocate for ASF parser plug-in to > > take > > > > i/p from ffmux_asf > > > > > > > > I checked the buffer size in ffmux_asf in gst_ffmpegmux_collected > > > > (GstCollectPads * pads, gpointer user_data) > > > > > > > > But it shows variable part. Tell me whether i am right ?? > > > > > > > > Size of buf:5757 > > > > Size of buf:7134 > > > > Size of buf:6927 > > > > Size of buf:5670 > > > > Size of buf:4989 > > > > Size of buf:4004 > > > > Size of buf:3615 > > > > Size of buf:3188 > > > > Size of buf:3022 > > > > Size of buf:2703 > > > > > > > > Thanks and regards, > > > > Irfan > > > > > > > > > > > > > > > > -----Original Message----- > > > > From: Julien Puydt [mailto:jp...@fr... <jp...@fr...> < > jp...@fr...> < > > jp...@fr...> < > > > jp...@fr...>] > > > > Sent: Mon 10/20/2008 3:29 PM > > > > To: Discussion of the development of GStreamer > > > > Subject: Re: [gst-devel] Size of output buffer > > > > > > > > irfanshaikh a écrit : > > > > > How can i find size of output buffer in "ffmux_asf" which > is > > > > pushed > > > > > to the sink pad of next element ? > > > > > > > > GST_BUFFER_SIZE (buffer) ? > > > > > > > > Snark on #gstreamer > > > > > > > > > > ------------------------------------------------------------------------- > > > > This SF.Net email is sponsored by the Moblin Your Move Developer's > > > > challenge > > > > Build the coolest Linux based applications with Moblin SDK & win > great > > > > prizes > > > > Grand prize is a trip for two to an Open Source event anywhere in the > > > world > > > > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > > > > _______________________________________________ > > > > gstreamer-devel mailing list > > > > gst...@li... > > > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > > > > This message (including any attachment) is confidential and may be > > > > legally privileged. Access to this message by anyone other than the > > > intended > > > > recipient(s) listed above is unauthorized. If you are not the > intended > > > > recipient you are hereby notified that any disclosure, copying, or > > > > distribution of the message, or any action taken or omission of > action > > by > > > > you in reliance upon it, is prohibited and may be unlawful. Please > > > > immediately notify the sender by reply e-mail and permanently delete > > all > > > > copies of the message if you have received this message in error. > > > > > > > > > > ------------------------------------------------------------------------- > > > > This SF.Net email is sponsored by the Moblin Your Move Developer's > > > > challenge > > > > Build the coolest Linux based applications with Moblin SDK & win > great > > > > prizes > > > > Grand prize is a trip for two to an Open Source event anywhere in the > > > world > > > > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > > > > _______________________________________________ > > > > gstreamer-devel mailing list > > > > gst...@li... > > > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > > > > > > > > > > > > > -- > > > Regards, > > > > > > Sudarshan Bisht > > > > > > > > > Hi sudarshan/Ved, > > > > > > In gstffmpegmux.c {gst-ffmpeg-0.10.5/ext/ffmpeg} i do not see any > > > "gst_pad_push" function. > > > > > > I understand we need a function something like "gst_pad_push > > > (asfmux->srcpad, buf)", so as to push the buffer to the sink pad of > next > > > module. > > > > > > But i do not find any such api in gstffmpegmux.c. > > > > > > So i am unable to find the size of output buffer which is send to the > > next > > > module.So i got confused with "gst_pad_push_event" > > > > > > Please can you help me regarding this issue. > > > > > > I need all this information to allocate buffer size for my module "ASF > > > parser" which is built from scratch in C. rite know i am reading from > > file. > > > > > > I need to do same processing in ASF parser when i use ffmux_asf as > input > > > module for ASF parser. > > > > > > Please help me regarding this. > > > > > > > > > Regards, > > > Irfan > > > > > > This message (including any attachment) is confidential and may be > > > legally privileged. Access to this message by anyone other than the > > intended > > > recipient(s) listed above is unauthorized. If you are not the intended > > > recipient you are hereby notified that any disclosure, copying, or > > > distribution of the message, or any action taken or omission of action > by > > > you in reliance upon it, is prohibited and may be unlawful. Please > > > immediately notify the sender by reply e-mail and permanently delete > all > > > copies of the message if you have received this message in error. > > > > > > > ------------------------------------------------------------------------- > > > This SF.Net email is sponsored by the Moblin Your Move Developer's > > > challenge > > > Build the coolest Linux based applications with Moblin SDK & win great > > > prizes > > > Grand prize is a trip for two to an Open Source event anywhere in the > > world > > > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > > > _______________________________________________ > > > gstreamer-devel mailing list > > > gst...@li... > > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > > > > > > > > -- > > Regards, > > > > Sudarshan Bisht > > > > This message (including any attachment) is confidential and may be > > legally privileged. Access to this message by anyone other than the > intended > > recipient(s) listed above is unauthorized. If you are not the intended > > recipient you are hereby notified that any disclosure, copying, or > > distribution of the message, or any action taken or omission of action by > > you in reliance upon it, is prohibited and may be unlawful. Please > > immediately notify the sender by reply e-mail and permanently delete all > > copies of the message if you have received this message in error. > > > > ------------------------------------------------------------------------- > > This SF.Net email is sponsored by the Moblin Your Move Developer's > > challenge > > Build the coolest Linux based applications with Moblin SDK & win great > > prizes > > Grand prize is a trip for two to an Open Source event anywhere in the > world > > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > > _______________________________________________ > > gstreamer-devel mailing list > > gst...@li... > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > > > > > > -- > Regards, > > Sudarshan Bisht > > This message (including any attachment) is confidential and may be > legally privileged. Access to this message by anyone other than the intended > recipient(s) listed above is unauthorized. If you are not the intended > recipient you are hereby notified that any disclosure, copying, or > distribution of the message, or any action taken or omission of action by > you in reliance upon it, is prohibited and may be unlawful. Please > immediately notify the sender by reply e-mail and permanently delete all > copies of the message if you have received this message in error. > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's > challenge > Build the coolest Linux based applications with Moblin SDK & win great > prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > gstreamer-devel mailing list > gst...@li... > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > > -- Regards, Sudarshan Bisht |