mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-06-26 09:50:39 +00:00
- Removed deprecated buffer flags.
Original commit message from CVS: - Removed deprecated buffer flags. - removed gst_element_signal_eos, replaced with gst_element_set_eos to set the object to PAUSED, signal an eos event etc.. - small updates to documentation - repair some plugins
This commit is contained in:
parent
01d2b54b37
commit
90355128b5
|
@ -110,6 +110,7 @@ cothread_context_init (void)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* cothread_context_free:
|
* cothread_context_free:
|
||||||
|
* @ctx: the cothread context to free
|
||||||
*
|
*
|
||||||
* Free the cothread context.
|
* Free the cothread context.
|
||||||
*/
|
*/
|
||||||
|
@ -270,6 +271,12 @@ cothread_setfunc (cothread_state * thread, cothread_func func, int argc, char **
|
||||||
thread->pc = (void *) func;
|
thread->pc = (void *) func;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* cothread_stop:
|
||||||
|
* @thread: the cothread to stop
|
||||||
|
*
|
||||||
|
* Stop the cothread and reset the stack and program counter.
|
||||||
|
*/
|
||||||
void
|
void
|
||||||
cothread_stop (cothread_state * thread)
|
cothread_stop (cothread_state * thread)
|
||||||
{
|
{
|
||||||
|
|
|
@ -649,7 +649,7 @@ gst_fakesrc_get(GstPad *pad)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (src->rt_num_buffers == 0) {
|
if (src->rt_num_buffers == 0) {
|
||||||
gst_element_set_state (GST_ELEMENT (src), GST_STATE_PAUSED);
|
gst_element_set_eos (GST_ELEMENT (src));
|
||||||
return GST_BUFFER(gst_event_new (GST_EVENT_EOS));
|
return GST_BUFFER(gst_event_new (GST_EVENT_EOS));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
|
@ -199,15 +199,12 @@ gst_fdsrc_get(GstPad *pad)
|
||||||
|
|
||||||
/* read it in from the file */
|
/* read it in from the file */
|
||||||
readbytes = read(src->fd,GST_BUFFER_DATA(buf),src->bytes_per_read);
|
readbytes = read(src->fd,GST_BUFFER_DATA(buf),src->bytes_per_read);
|
||||||
|
/* if nothing was read, we're in eos */
|
||||||
if (readbytes == 0) {
|
if (readbytes == 0) {
|
||||||
return NULL;
|
gst_element_set_eos (GST_ELEMENT (src));
|
||||||
|
return GST_BUFFER (gst_event_new (GST_EVENT_EOS));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* if we didn't get as many bytes as we asked for, we're at EOF */
|
|
||||||
if (readbytes < src->bytes_per_read) {
|
|
||||||
/* set the buffer's EOF bit here */
|
|
||||||
GST_BUFFER_FLAG_SET (buf, GST_BUFFER_EOS);
|
|
||||||
}
|
|
||||||
GST_BUFFER_OFFSET(buf) = src->curoffset;
|
GST_BUFFER_OFFSET(buf) = src->curoffset;
|
||||||
GST_BUFFER_SIZE(buf) = readbytes;
|
GST_BUFFER_SIZE(buf) = readbytes;
|
||||||
src->curoffset += readbytes;
|
src->curoffset += readbytes;
|
||||||
|
|
|
@ -444,7 +444,7 @@ gst_filesrc_get (GstPad *pad)
|
||||||
|
|
||||||
/* check for EOF */
|
/* check for EOF */
|
||||||
if (src->curoffset == src->filelen) {
|
if (src->curoffset == src->filelen) {
|
||||||
gst_element_set_state (GST_ELEMENT (src), GST_STATE_PAUSED);
|
gst_element_set_eos (GST_ELEMENT (src));
|
||||||
return GST_BUFFER (gst_event_new(GST_EVENT_EOS));
|
return GST_BUFFER (gst_event_new(GST_EVENT_EOS));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -498,7 +498,7 @@ gst_filesrc_get (GstPad *pad)
|
||||||
region.size = readsize;
|
region.size = readsize;
|
||||||
map = g_tree_search (src->map_regions,
|
map = g_tree_search (src->map_regions,
|
||||||
(GCompareFunc) gst_filesrc_search_region_match,
|
(GCompareFunc) gst_filesrc_search_region_match,
|
||||||
®ion);
|
(gpointer)®ion);
|
||||||
|
|
||||||
/* if we found an exact match, subbuffer it */
|
/* if we found an exact match, subbuffer it */
|
||||||
if (map != NULL) {
|
if (map != NULL) {
|
||||||
|
|
|
@ -228,7 +228,7 @@ gst_multidisksrc_get (GstPad *pad)
|
||||||
GST_BUFFER_FLAG_SET (buf, GST_BUFFER_DONTFREE);
|
GST_BUFFER_FLAG_SET (buf, GST_BUFFER_DONTFREE);
|
||||||
|
|
||||||
if (src->new_seek) {
|
if (src->new_seek) {
|
||||||
GST_BUFFER_FLAG_SET (buf, GST_BUFFER_FLUSH);
|
/* fixme, do something here */
|
||||||
src->new_seek = FALSE;
|
src->new_seek = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -228,7 +228,7 @@ gst_multidisksrc_get (GstPad *pad)
|
||||||
GST_BUFFER_FLAG_SET (buf, GST_BUFFER_DONTFREE);
|
GST_BUFFER_FLAG_SET (buf, GST_BUFFER_DONTFREE);
|
||||||
|
|
||||||
if (src->new_seek) {
|
if (src->new_seek) {
|
||||||
GST_BUFFER_FLAG_SET (buf, GST_BUFFER_FLUSH);
|
/* fixme, do something here */
|
||||||
src->new_seek = FALSE;
|
src->new_seek = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -284,7 +284,7 @@ gst_statistics_chain (GstPad *pad, GstBuffer *buf)
|
||||||
GstEvent *event = GST_EVENT (buf);
|
GstEvent *event = GST_EVENT (buf);
|
||||||
statistics->stats.events += 1;
|
statistics->stats.events += 1;
|
||||||
if (GST_EVENT_TYPE(event) == GST_EVENT_EOS) {
|
if (GST_EVENT_TYPE(event) == GST_EVENT_EOS) {
|
||||||
gst_element_set_state (GST_ELEMENT (statistics), GST_STATE_PAUSED);
|
gst_element_set_eos (GST_ELEMENT (statistics));
|
||||||
if (statistics->update_on_eos) {
|
if (statistics->update_on_eos) {
|
||||||
update = TRUE;
|
update = TRUE;
|
||||||
}
|
}
|
||||||
|
|
|
@ -85,9 +85,6 @@ typedef enum {
|
||||||
GST_BUFFER_ORIGINAL,
|
GST_BUFFER_ORIGINAL,
|
||||||
GST_BUFFER_DONTFREE,
|
GST_BUFFER_DONTFREE,
|
||||||
|
|
||||||
GST_BUFFER_FLUSH,
|
|
||||||
GST_BUFFER_EOS,
|
|
||||||
GST_BUFFER_DISCONTINUOUS,
|
|
||||||
} GstBufferFlags;
|
} GstBufferFlags;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -790,7 +790,8 @@ gst_element_message (GstElement *element, const gchar *type, const gchar *info,
|
||||||
/**
|
/**
|
||||||
* gst_element_error:
|
* gst_element_error:
|
||||||
* @element: Element with the error
|
* @element: Element with the error
|
||||||
* @error: String describing the error
|
* @error: A printf-like string describing the error
|
||||||
|
* @...: optional arguments for the string
|
||||||
*
|
*
|
||||||
* This function is used internally by elements to signal an error
|
* This function is used internally by elements to signal an error
|
||||||
* condition. It results in the "error" signal.
|
* condition. It results in the "error" signal.
|
||||||
|
@ -930,7 +931,6 @@ gst_element_set_state (GstElement *element, GstElementState state)
|
||||||
/* g_print("gst_element_set_state(\"%s\",%08lx)\n", */
|
/* g_print("gst_element_set_state(\"%s\",%08lx)\n", */
|
||||||
/* element->name,state); */
|
/* element->name,state); */
|
||||||
|
|
||||||
g_return_val_if_fail (element != NULL, GST_STATE_FAILURE);
|
|
||||||
g_return_val_if_fail (GST_IS_ELEMENT (element), GST_STATE_FAILURE);
|
g_return_val_if_fail (GST_IS_ELEMENT (element), GST_STATE_FAILURE);
|
||||||
|
|
||||||
GST_DEBUG_ELEMENT (GST_CAT_STATES,element, "setting state from %s to %s\n",
|
GST_DEBUG_ELEMENT (GST_CAT_STATES,element, "setting state from %s to %s\n",
|
||||||
|
@ -985,7 +985,6 @@ gst_element_change_state (GstElement *element)
|
||||||
GstElementState old_state;
|
GstElementState old_state;
|
||||||
GstObject *parent;
|
GstObject *parent;
|
||||||
|
|
||||||
g_return_val_if_fail (element != NULL, GST_STATE_FAILURE);
|
|
||||||
g_return_val_if_fail (GST_IS_ELEMENT (element), GST_STATE_FAILURE);
|
g_return_val_if_fail (GST_IS_ELEMENT (element), GST_STATE_FAILURE);
|
||||||
|
|
||||||
old_state = GST_STATE (element);
|
old_state = GST_STATE (element);
|
||||||
|
@ -1038,7 +1037,6 @@ gst_element_get_factory (GstElement *element)
|
||||||
{
|
{
|
||||||
GstElementClass *oclass;
|
GstElementClass *oclass;
|
||||||
|
|
||||||
g_return_val_if_fail (element != NULL, NULL);
|
|
||||||
g_return_val_if_fail (GST_IS_ELEMENT (element), NULL);
|
g_return_val_if_fail (GST_IS_ELEMENT (element), NULL);
|
||||||
|
|
||||||
oclass = GST_ELEMENT_CLASS (G_OBJECT_GET_CLASS(element));
|
oclass = GST_ELEMENT_CLASS (G_OBJECT_GET_CLASS(element));
|
||||||
|
@ -1313,7 +1311,10 @@ void
|
||||||
gst_element_set_sched (GstElement *element,
|
gst_element_set_sched (GstElement *element,
|
||||||
GstScheduler *sched)
|
GstScheduler *sched)
|
||||||
{
|
{
|
||||||
GST_INFO_ELEMENT (GST_CAT_PARENTAGE, element, "setting scheduler to %p",sched);
|
g_return_if_fail (GST_IS_ELEMENT (element));
|
||||||
|
|
||||||
|
GST_INFO_ELEMENT (GST_CAT_PARENTAGE, element, "setting scheduler to %p", sched);
|
||||||
|
|
||||||
element->sched = sched;
|
element->sched = sched;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1328,6 +1329,8 @@ gst_element_set_sched (GstElement *element,
|
||||||
GstScheduler*
|
GstScheduler*
|
||||||
gst_element_get_sched (GstElement *element)
|
gst_element_get_sched (GstElement *element)
|
||||||
{
|
{
|
||||||
|
g_return_val_if_fail (GST_IS_ELEMENT (element), NULL);
|
||||||
|
|
||||||
return element->sched;
|
return element->sched;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1348,26 +1351,30 @@ void
|
||||||
gst_element_set_loop_function(GstElement *element,
|
gst_element_set_loop_function(GstElement *element,
|
||||||
GstElementLoopFunction loop)
|
GstElementLoopFunction loop)
|
||||||
{
|
{
|
||||||
|
g_return_if_fail (GST_IS_ELEMENT (element));
|
||||||
|
|
||||||
/* set the loop function */
|
/* set the loop function */
|
||||||
element->loopfunc = loop;
|
element->loopfunc = loop;
|
||||||
|
|
||||||
/* set the NEW_LOOPFUNC flag so everyone knows to go try again */
|
/* set the NEW_LOOPFUNC flag so everyone knows to go try again */
|
||||||
GST_FLAG_SET(element,GST_ELEMENT_NEW_LOOPFUNC);
|
GST_FLAG_SET (element, GST_ELEMENT_NEW_LOOPFUNC);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* gst_element_signal_eos:
|
* gst_element_set_eos:
|
||||||
* @element: element to trigger the eos signal of
|
* @element: element to set to the EOS state
|
||||||
*
|
*
|
||||||
* Throws the eos signal to indicate that the end of the stream is reached.
|
* Perform the actions needed to bring the element in the EOS state.
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
gst_element_signal_eos (GstElement *element)
|
gst_element_set_eos (GstElement *element)
|
||||||
{
|
{
|
||||||
g_return_if_fail (element != NULL);
|
|
||||||
g_return_if_fail (GST_IS_ELEMENT (element));
|
g_return_if_fail (GST_IS_ELEMENT (element));
|
||||||
|
|
||||||
GST_DEBUG(GST_CAT_EVENT, "signaling EOS on element %s\n",GST_OBJECT_NAME(element));
|
GST_DEBUG (GST_CAT_EVENT, "setting EOS on element %s\n", GST_OBJECT_NAME (element));
|
||||||
|
|
||||||
|
gst_element_set_state (element, GST_STATE_PAUSED);
|
||||||
|
|
||||||
g_signal_emit (G_OBJECT (element), gst_element_signals[EOS], 0);
|
g_signal_emit (G_OBJECT (element), gst_element_signals[EOS], 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -205,7 +205,7 @@ void gst_element_connect (GstElement *src, const gchar *srcpadname,
|
||||||
void gst_element_disconnect (GstElement *src, const gchar *srcpadname,
|
void gst_element_disconnect (GstElement *src, const gchar *srcpadname,
|
||||||
GstElement *dest, const gchar *destpadname);
|
GstElement *dest, const gchar *destpadname);
|
||||||
|
|
||||||
void gst_element_signal_eos (GstElement *element);
|
void gst_element_set_eos (GstElement *element);
|
||||||
|
|
||||||
void gst_element_send_event (GstElement *element, GstEvent *event);
|
void gst_element_send_event (GstElement *element, GstEvent *event);
|
||||||
|
|
||||||
|
|
|
@ -251,7 +251,7 @@ gst_elementfactory_create (GstElementFactory *factory,
|
||||||
GST_DEBUG (GST_CAT_ELEMENTFACTORY,"class %s\n", GST_OBJECT_NAME (factory));
|
GST_DEBUG (GST_CAT_ELEMENTFACTORY,"class %s\n", GST_OBJECT_NAME (factory));
|
||||||
oclass->elementfactory = factory;
|
oclass->elementfactory = factory;
|
||||||
|
|
||||||
// copy pad template pointers to the element class
|
/* copy pad template pointers to the element class */
|
||||||
oclass->padtemplates = g_list_copy(factory->padtemplates);
|
oclass->padtemplates = g_list_copy(factory->padtemplates);
|
||||||
oclass->numpadtemplates = factory->numpadtemplates;
|
oclass->numpadtemplates = factory->numpadtemplates;
|
||||||
}
|
}
|
||||||
|
|
|
@ -726,7 +726,7 @@ gst_pad_get_padtemplate (GstPad *pad)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* gst_pad_set_sched:
|
* gst_pad_set_sched:
|
||||||
* @pad: the pad to set the scheduler for
|
* @pad: the pad to set the scheduler for
|
||||||
* @sched: The scheduler to set
|
* @sched: The scheduler to set
|
||||||
|
@ -1583,8 +1583,7 @@ gst_pad_pullregion (GstPad *pad, GstRegionType type, guint64 offset, guint64 len
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* FIXME */
|
/* FIXME */
|
||||||
while (result && ! GST_BUFFER_FLAG_IS_SET (result, GST_BUFFER_EOS)
|
while (result && !(GST_BUFFER_OFFSET (result) == offset &&
|
||||||
&& !(GST_BUFFER_OFFSET (result) == offset &&
|
|
||||||
GST_BUFFER_SIZE (result) == len));
|
GST_BUFFER_SIZE (result) == len));
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
|
@ -2038,7 +2037,7 @@ gst_pad_event_default (GstPad *pad, GstEvent *event)
|
||||||
|
|
||||||
switch (GST_EVENT_TYPE (event)) {
|
switch (GST_EVENT_TYPE (event)) {
|
||||||
case GST_EVENT_EOS:
|
case GST_EVENT_EOS:
|
||||||
gst_element_set_state (element, GST_STATE_PAUSED);
|
gst_element_set_eos (element);
|
||||||
gst_pad_event_default_dispatch (pad, element, event);
|
gst_pad_event_default_dispatch (pad, element, event);
|
||||||
gst_event_free (event);
|
gst_event_free (event);
|
||||||
/* we have to try to schedule another element because this one is disabled */
|
/* we have to try to schedule another element because this one is disabled */
|
||||||
|
|
|
@ -488,7 +488,7 @@ restart:
|
||||||
switch (GST_EVENT_TYPE(event)) {
|
switch (GST_EVENT_TYPE(event)) {
|
||||||
case GST_EVENT_EOS:
|
case GST_EVENT_EOS:
|
||||||
GST_DEBUG_ELEMENT (GST_CAT_DATAFLOW, queue, "queue \"%s\" eos\n", GST_ELEMENT_NAME (queue));
|
GST_DEBUG_ELEMENT (GST_CAT_DATAFLOW, queue, "queue \"%s\" eos\n", GST_ELEMENT_NAME (queue));
|
||||||
gst_element_set_state (GST_ELEMENT (queue), GST_STATE_PAUSED);
|
gst_element_set_eos (GST_ELEMENT (queue));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -180,6 +180,9 @@ gst_scheduler_add_element (GstScheduler *sched, GstElement *element)
|
||||||
* @transition: the state transition
|
* @transition: the state transition
|
||||||
*
|
*
|
||||||
* Tell the scheduler that an element changed its state.
|
* Tell the scheduler that an element changed its state.
|
||||||
|
*
|
||||||
|
* Returns: a GstElementStateReturn indicating success or failure
|
||||||
|
* of the state transition.
|
||||||
*/
|
*/
|
||||||
GstElementStateReturn
|
GstElementStateReturn
|
||||||
gst_scheduler_state_transition (GstScheduler *sched, GstElement *element, gint transition)
|
gst_scheduler_state_transition (GstScheduler *sched, GstElement *element, gint transition)
|
||||||
|
@ -285,7 +288,7 @@ gst_scheduler_yield (GstScheduler *sched, GstElement *element)
|
||||||
*
|
*
|
||||||
* Tell the scheduler to interrupt execution of this element.
|
* Tell the scheduler to interrupt execution of this element.
|
||||||
*
|
*
|
||||||
* Retruns: TRUE if the element should return NULL from the chain/get
|
* Returns: TRUE if the element should return NULL from the chain/get
|
||||||
* function.
|
* function.
|
||||||
*/
|
*/
|
||||||
gboolean
|
gboolean
|
||||||
|
|
|
@ -310,8 +310,7 @@ gst_thread_change_state (GstElement * element)
|
||||||
break;
|
break;
|
||||||
case GST_STATE_PLAYING_TO_PAUSED:
|
case GST_STATE_PLAYING_TO_PAUSED:
|
||||||
{
|
{
|
||||||
//GList *elements = (element->sched)->elements;
|
GList *elements = gst_bin_get_list (GST_BIN (thread));
|
||||||
GList *elements = gst_bin_get_list(GST_BIN (thread));
|
|
||||||
|
|
||||||
THR_INFO ("pausing thread");
|
THR_INFO ("pausing thread");
|
||||||
|
|
||||||
|
|
|
@ -649,7 +649,7 @@ gst_fakesrc_get(GstPad *pad)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (src->rt_num_buffers == 0) {
|
if (src->rt_num_buffers == 0) {
|
||||||
gst_element_set_state (GST_ELEMENT (src), GST_STATE_PAUSED);
|
gst_element_set_eos (GST_ELEMENT (src));
|
||||||
return GST_BUFFER(gst_event_new (GST_EVENT_EOS));
|
return GST_BUFFER(gst_event_new (GST_EVENT_EOS));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
|
@ -199,15 +199,12 @@ gst_fdsrc_get(GstPad *pad)
|
||||||
|
|
||||||
/* read it in from the file */
|
/* read it in from the file */
|
||||||
readbytes = read(src->fd,GST_BUFFER_DATA(buf),src->bytes_per_read);
|
readbytes = read(src->fd,GST_BUFFER_DATA(buf),src->bytes_per_read);
|
||||||
|
/* if nothing was read, we're in eos */
|
||||||
if (readbytes == 0) {
|
if (readbytes == 0) {
|
||||||
return NULL;
|
gst_element_set_eos (GST_ELEMENT (src));
|
||||||
|
return GST_BUFFER (gst_event_new (GST_EVENT_EOS));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* if we didn't get as many bytes as we asked for, we're at EOF */
|
|
||||||
if (readbytes < src->bytes_per_read) {
|
|
||||||
/* set the buffer's EOF bit here */
|
|
||||||
GST_BUFFER_FLAG_SET (buf, GST_BUFFER_EOS);
|
|
||||||
}
|
|
||||||
GST_BUFFER_OFFSET(buf) = src->curoffset;
|
GST_BUFFER_OFFSET(buf) = src->curoffset;
|
||||||
GST_BUFFER_SIZE(buf) = readbytes;
|
GST_BUFFER_SIZE(buf) = readbytes;
|
||||||
src->curoffset += readbytes;
|
src->curoffset += readbytes;
|
||||||
|
|
|
@ -444,7 +444,7 @@ gst_filesrc_get (GstPad *pad)
|
||||||
|
|
||||||
/* check for EOF */
|
/* check for EOF */
|
||||||
if (src->curoffset == src->filelen) {
|
if (src->curoffset == src->filelen) {
|
||||||
gst_element_set_state (GST_ELEMENT (src), GST_STATE_PAUSED);
|
gst_element_set_eos (GST_ELEMENT (src));
|
||||||
return GST_BUFFER (gst_event_new(GST_EVENT_EOS));
|
return GST_BUFFER (gst_event_new(GST_EVENT_EOS));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -498,7 +498,7 @@ gst_filesrc_get (GstPad *pad)
|
||||||
region.size = readsize;
|
region.size = readsize;
|
||||||
map = g_tree_search (src->map_regions,
|
map = g_tree_search (src->map_regions,
|
||||||
(GCompareFunc) gst_filesrc_search_region_match,
|
(GCompareFunc) gst_filesrc_search_region_match,
|
||||||
®ion);
|
(gpointer)®ion);
|
||||||
|
|
||||||
/* if we found an exact match, subbuffer it */
|
/* if we found an exact match, subbuffer it */
|
||||||
if (map != NULL) {
|
if (map != NULL) {
|
||||||
|
|
|
@ -228,7 +228,7 @@ gst_multidisksrc_get (GstPad *pad)
|
||||||
GST_BUFFER_FLAG_SET (buf, GST_BUFFER_DONTFREE);
|
GST_BUFFER_FLAG_SET (buf, GST_BUFFER_DONTFREE);
|
||||||
|
|
||||||
if (src->new_seek) {
|
if (src->new_seek) {
|
||||||
GST_BUFFER_FLAG_SET (buf, GST_BUFFER_FLUSH);
|
/* fixme, do something here */
|
||||||
src->new_seek = FALSE;
|
src->new_seek = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -228,7 +228,7 @@ gst_multidisksrc_get (GstPad *pad)
|
||||||
GST_BUFFER_FLAG_SET (buf, GST_BUFFER_DONTFREE);
|
GST_BUFFER_FLAG_SET (buf, GST_BUFFER_DONTFREE);
|
||||||
|
|
||||||
if (src->new_seek) {
|
if (src->new_seek) {
|
||||||
GST_BUFFER_FLAG_SET (buf, GST_BUFFER_FLUSH);
|
/* fixme, do something here */
|
||||||
src->new_seek = FALSE;
|
src->new_seek = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -488,7 +488,7 @@ restart:
|
||||||
switch (GST_EVENT_TYPE(event)) {
|
switch (GST_EVENT_TYPE(event)) {
|
||||||
case GST_EVENT_EOS:
|
case GST_EVENT_EOS:
|
||||||
GST_DEBUG_ELEMENT (GST_CAT_DATAFLOW, queue, "queue \"%s\" eos\n", GST_ELEMENT_NAME (queue));
|
GST_DEBUG_ELEMENT (GST_CAT_DATAFLOW, queue, "queue \"%s\" eos\n", GST_ELEMENT_NAME (queue));
|
||||||
gst_element_set_state (GST_ELEMENT (queue), GST_STATE_PAUSED);
|
gst_element_set_eos (GST_ELEMENT (queue));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -284,7 +284,7 @@ gst_statistics_chain (GstPad *pad, GstBuffer *buf)
|
||||||
GstEvent *event = GST_EVENT (buf);
|
GstEvent *event = GST_EVENT (buf);
|
||||||
statistics->stats.events += 1;
|
statistics->stats.events += 1;
|
||||||
if (GST_EVENT_TYPE(event) == GST_EVENT_EOS) {
|
if (GST_EVENT_TYPE(event) == GST_EVENT_EOS) {
|
||||||
gst_element_set_state (GST_ELEMENT (statistics), GST_STATE_PAUSED);
|
gst_element_set_eos (GST_ELEMENT (statistics));
|
||||||
if (statistics->update_on_eos) {
|
if (statistics->update_on_eos) {
|
||||||
update = TRUE;
|
update = TRUE;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue