I need to loop some ogg/theora videos. I can do this, but I am getting a
noticable delay when looping. I need the looping to be seamless. Depending on what times I am looping from/to, the delay can vary from not noticable, to extreme. It can also vary depending on the file. I have full sources of an example I can post if necessary. I have included a short snippet to show what I am doing: What am I doing wrong? -- David Johnson ----- gboolean OggPlayer::callbackMessage(GstBus *bus, GstMessage *message, gpointer data) { switch (GST_MESSAGE_TYPE(message)) { ... case GST_MESSAGE_SEGMENT_DONE: { GstElement *pipeline = (GstElement*)data; GstEvent *event; event = gst_event_new_seek(1.0, GST_FORMAT_TIME, (GstSeekFlags)(GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_SEGMENT), GST_SEEK_TYPE_SET, startval, GST_SEEK_TYPE_SET, endval); bool result = gst_element_send_event(pipeline, event); break; ... } _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Wednesday, April 27, 2011 05:28:09 pm David Johnson wrote:
> I need to loop some ogg/theora videos. I can do this, but I am getting a > noticable delay when looping. I need the looping to be seamless. > > Depending on what times I am looping from/to, the delay can vary from not > noticable, to extreme. It can also vary depending on the file. > > I have full sources of an example I can post if necessary. I have included > a short snippet to show what I am doing: > > What am I doing wrong? Still banging my head on this one. Am I even doing looping the right way? Is OGG not suited to looping? Did I forget to cross a T or dot on I? Need help. Thanks, -- David Johnson _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by David Johnson
Am 28.04.2011 03:28, schrieb David Johnson:
> I need to loop some ogg/theora videos. I can do this, but I am getting a > noticable delay when looping. I need the looping to be seamless. > > Depending on what times I am looping from/to, the delay can vary from not > noticable, to extreme. It can also vary depending on the file. > > I have full sources of an example I can post if necessary. I have included a > short snippet to show what I am doing: > > What am I doing wrong? > Only use GST_SEEK_FLAG_FLUSH for the first seek-event, when handling SEGMENT_DONE try without it. Stefan _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Thursday, April 28, 2011 01:14:40 pm Stefan Kost wrote:
> Am 28.04.2011 03:28, schrieb David Johnson: > > I need to loop some ogg/theora videos. I can do this, but I am getting a > > noticable delay when looping. I need the looping to be seamless. > > > > Depending on what times I am looping from/to, the delay can vary from not > > noticable, to extreme. It can also vary depending on the file. > > > > I have full sources of an example I can post if necessary. I have > > included a short snippet to show what I am doing: > > > > What am I doing wrong? > > Only use GST_SEEK_FLAG_FLUSH for the first seek-event, when handling > SEGMENT_DONE try without it. This does not help any. I am still getting about a quarter second freeze at the end of the segment. Some more investigation reveals that this only happens with ogg/theora (obv) video clips. It is not happening with some DV clips. Is this the fault of the Theora format? Perhaps it is not suited for seamless looping? -- David Johnson _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Am 29.04.2011 00:12, schrieb David Johnson:
> On Thursday, April 28, 2011 01:14:40 pm Stefan Kost wrote: >> Am 28.04.2011 03:28, schrieb David Johnson: >>> I need to loop some ogg/theora videos. I can do this, but I am getting a >>> noticable delay when looping. I need the looping to be seamless. >>> >>> Depending on what times I am looping from/to, the delay can vary from not >>> noticable, to extreme. It can also vary depending on the file. >>> >>> I have full sources of an example I can post if necessary. I have >>> included a short snippet to show what I am doing: >>> >>> What am I doing wrong? >> >> Only use GST_SEEK_FLAG_FLUSH for the first seek-event, when handling >> SEGMENT_DONE try without it. > > This does not help any. I am still getting about a quarter second freeze at > the end of the segment. > > Some more investigation reveals that this only happens with ogg/theora (obv) > video clips. It is not happening with some DV clips. > > Is this the fault of the Theora format? Perhaps it is not suited for seamless > looping? > There could be a bug in oggdemux or theoradec. You probably have to drill down into the logs and see what code is executed when it is waiting. I have a hunch that something not very optimal is happending when looping. In buzztard I get unreasonable cpu-load when looping short audio. I had not yet time to investigate though. Stefan _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |