Hi
I am writing a application which dose a TrickMode operation on the incoming LIVE MPEG Transport stream. This LIVE stream is read by the filesrc. For doing Trick Mode i am writing my own plugin which dose the following operation. * sends the data down stream. * stores this data localy on to a file. * generates the IFrame from this data and stores in a file. if i want to play in rewind/forward mode i do that by sending a seek event with setting the rate from my application. My plugin reads the seek event dose the required operation. And at the same time if any LIVE data is read from the file source it will be stored in the file localy. But if i want to perform PAUSE operation can i do that by setting the rate to 0.0, is this allowed. I dont want PAUSE the whole pipeline, since i want the LIVE data to be read by the file source and this data has to be stored by my plugin . How can i achive the PAUSE operation with out PAUSING the whole pipeline. Thanks ------------------------------------------------------------------------------ SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada. The future of the web can't happen without you. Join us at MIX09 to help pave the way to the Next Web now. Learn more and register at http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
On Tue, Dec 9, 2008 at 4:26 AM, Sumanth V <[hidden email]> wrote:
> But if i want to perform PAUSE operation can i do that by setting the rate > to 0.0, is this allowed. I dont want PAUSE > the whole pipeline, since i want the LIVE data to be read by the file source > and this data has to be stored by my > plugin . > How can i achive the PAUSE operation with out PAUSING the whole pipeline. Setting rate to 0 is not permitted. Pausing the pipeline is the right thing to do - and does exactly what you want. When paused, the sinks (e.g. audio and video sinks) do not play any audio/video, but the rest of the pipeline continues to run - queues fill up, etc. For your use-case, this should work fine - your filesrc and your new element will behave identically in paused and playing. Mike ------------------------------------------------------------------------------ SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada. The future of the web can't happen without you. Join us at MIX09 to help pave the way to the Next Web now. Learn more and register at http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
On Tuesday 09 December 2008 23:46:42 Michael Smith wrote: > On Tue, Dec 9, 2008 at 4:26 AM, Sumanth V <[hidden email]> wrote: > > But if i want to perform PAUSE operation can i do that by setting the > > rate to 0.0, is this allowed. I dont want PAUSE > > the whole pipeline, since i want the LIVE data to be read by the file > > source and this data has to be stored by my > > plugin . > > How can i achive the PAUSE operation with out PAUSING the whole pipeline. > > Setting rate to 0 is not permitted. Pausing the pipeline is the right > thing to do - and does exactly what you want. > > When paused, the sinks (e.g. audio and video sinks) do not play any > audio/video, but the rest of the pipeline continues to run - queues > fill up, etc. For your use-case, this should work fine - your filesrc > and your new element will behave identically in paused and playing. Are you implying that though the state of the pipeline is set to PAUSED, the filesrc will continue providing data to its peer. Is this the default behaviour of the plugin? Because if it is, then when a pipeline is in PAUSED state then an application would still be doing quite a lot of processing and also hogging the memory resources. Please comment Regards ~Sameer > > Mike > > --------------------------------------------------------------------------- >--- SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, > Nevada. The future of the web can't happen without you. Join us at MIX09 > to help pave the way to the Next Web now. Learn more and register at > http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com >/ _______________________________________________ > gstreamer-devel mailing list > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel ------------------------------------------------------------------------------ SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada. The future of the web can't happen without you. Join us at MIX09 to help pave the way to the Next Web now. Learn more and register at http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
On Tue, Dec 9, 2008 at 10:41 PM, Sameer Naik
<[hidden email]> wrote: > > Are you implying that though the state of the pipeline is set to PAUSED, the > filesrc will continue providing data to its peer. Is this the default > behaviour of the plugin? Because if it is, then when a pipeline is in PAUSED > state then an application would still be doing quite a lot of processing and > also hogging the memory resources. I was attempting to state that explicitly, not imply it, but yes. This is how gstreamer is designed; elements other than sinks (and live sources) should not treat PAUSED and PLAYING differently at all. Note that in most pipelines, something will block after a relatively short period of time - e.g. a downstream queue will become full, and block - so it doesn't consume cpu resources for an unbounded period, only for long enough to fill the downstream queues. Mike ------------------------------------------------------------------------------ SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada. The future of the web can't happen without you. Join us at MIX09 to help pave the way to the Next Web now. Learn more and register at http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Hi,
When PAUSED, the sinks do a preroll and then do a preroll_wait() (basically wait on a cond). ,which means the streaming threads are blocked and if there is a queue in between , the thread above the queue wont stop until the queue is filled up. Elements other than sinks and src are unaware of this and mostly do not differentiate between PAUSED/PLAYING. Ved On Wed, Dec 10, 2008 at 11:40 PM, Michael Smith <[hidden email]> wrote: > On Tue, Dec 9, 2008 at 10:41 PM, Sameer Naik > <[hidden email]> wrote: >> >> Are you implying that though the state of the pipeline is set to PAUSED, the >> filesrc will continue providing data to its peer. Is this the default >> behaviour of the plugin? Because if it is, then when a pipeline is in PAUSED >> state then an application would still be doing quite a lot of processing and >> also hogging the memory resources. > > I was attempting to state that explicitly, not imply it, but yes. > > This is how gstreamer is designed; elements other than sinks (and live > sources) should not treat PAUSED and PLAYING differently at all. > > Note that in most pipelines, something will block after a relatively > short period of time - e.g. a downstream queue will become full, and > block - so it doesn't consume cpu resources for an unbounded period, > only for long enough to fill the downstream queues. > > Mike > > ------------------------------------------------------------------------------ > SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada. > The future of the web can't happen without you. Join us at MIX09 to help > pave the way to the Next Web now. Learn more and register at > http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/ > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel > ------------------------------------------------------------------------------ SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada. The future of the web can't happen without you. Join us at MIX09 to help pave the way to the Next Web now. Learn more and register at http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
In reply to this post by michael smith-6-3
Right! that makes a lot of sense. Regards ~Sameer -- Developement Lead NextBiT Computing Pvt. Ltd. Bangalore, India On Wednesday 10 December 2008 23:40:24 Michael Smith wrote: > On Tue, Dec 9, 2008 at 10:41 PM, Sameer Naik > > <[hidden email]> wrote: > > Are you implying that though the state of the pipeline is set to PAUSED, > > the filesrc will continue providing data to its peer. Is this the default > > behaviour of the plugin? Because if it is, then when a pipeline is in > > PAUSED state then an application would still be doing quite a lot of > > processing and also hogging the memory resources. > > I was attempting to state that explicitly, not imply it, but yes. > > This is how gstreamer is designed; elements other than sinks (and live > sources) should not treat PAUSED and PLAYING differently at all. > > Note that in most pipelines, something will block after a relatively > short period of time - e.g. a downstream queue will become full, and > block - so it doesn't consume cpu resources for an unbounded period, > only for long enough to fill the downstream queues. > > Mike ------------------------------------------------------------------------------ SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada. The future of the web can't happen without you. Join us at MIX09 to help pave the way to the Next Web now. Learn more and register at http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |