mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-16 11:15:31 +00:00
gst/elements/gstfilesrc.c: If we checked the file size and it got bigger, don't
Original commit message from CVS: * gst/elements/gstfilesrc.c: (gst_filesrc_get): If we checked the file size and it got bigger, don't EOS anyway. * gst/gst.c: (gst_init_check_with_popt_table), (init_pre): Don't parse the GST_DEBUG env var list twice (once in the init_pre and then again in the init_check). Add GST_DEBUGNOCOLOR env variable. * gst/gstclock.c: (gst_clock_id_wait), (gst_clock_set_speed), (gst_clock_get_speed), (gst_clock_set_active), (gst_clock_is_active), (gst_clock_reset), (gst_clock_get_event_time_delay): Make all clock debug in the GST_CAT_CLOCK category. Add a little extra detail. * gst/gstelement.c: (gst_element_wait): Remove extra ' ' in a debug format string. * gst/gstpad.c: (gst_pad_set_explicit_caps), (gst_pad_pull): Better debug message when setting explicit caps on an unlinked pad. Return INTERRUPT event if the peer is unlinked when restarting during a pad_pull.
This commit is contained in:
parent
02cb914495
commit
733624210a
7 changed files with 71 additions and 27 deletions
40
ChangeLog
40
ChangeLog
|
@ -1,3 +1,43 @@
|
||||||
|
2005-03-04 Jan Schmidt <thaytan@mad.scientist.com>
|
||||||
|
|
||||||
|
* gst/elements/gstfilesrc.c: (gst_filesrc_get):
|
||||||
|
If we checked the file size and it got bigger, don't
|
||||||
|
EOS anyway.
|
||||||
|
|
||||||
|
* gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
|
||||||
|
Don't parse the GST_DEBUG env var list twice (once in the
|
||||||
|
init_pre and then again in the init_check).
|
||||||
|
Add GST_DEBUGNOCOLOR env variable.
|
||||||
|
|
||||||
|
* gst/gstclock.c: (gst_clock_id_wait), (gst_clock_set_speed),
|
||||||
|
(gst_clock_get_speed), (gst_clock_set_active),
|
||||||
|
(gst_clock_is_active), (gst_clock_reset),
|
||||||
|
(gst_clock_get_event_time_delay):
|
||||||
|
Make all clock debug in the GST_CAT_CLOCK category.
|
||||||
|
Add a little extra detail.
|
||||||
|
|
||||||
|
* gst/gstelement.c: (gst_element_wait):
|
||||||
|
Remove extra ' ' in a debug format string.
|
||||||
|
|
||||||
|
* gst/gstpad.c: (gst_pad_set_explicit_caps), (gst_pad_pull):
|
||||||
|
Better debug message when setting explicit caps on an unlinked pad.
|
||||||
|
Return INTERRUPT event if the peer is unlinked when restarting
|
||||||
|
during a pad_pull.
|
||||||
|
|
||||||
|
2005-03-04 Jan Schmidt <thaytan@mad.scientist.com>
|
||||||
|
|
||||||
|
* docs/gst/gstreamer-sections.txt:
|
||||||
|
* docs/gst/tmpl/gstevent.sgml:
|
||||||
|
* gst/gstevent.c: (gst_event_new):
|
||||||
|
* gst/gstevent.h:
|
||||||
|
Add GST_EVENT_COMMON_FLAG_NEED_RESPONSE flag (TRUE by default)
|
||||||
|
to indicate whether a reply is expected to an upstream event.
|
||||||
|
|
||||||
|
* gst/gstqueue.c: (gst_queue_finalize),
|
||||||
|
(gst_queue_handle_pending_events), (gst_queue_handle_src_event):
|
||||||
|
If GST_EVENT_COMMON_FLAG_NEED_RESPONSE is not set, just queue the
|
||||||
|
event without blocking on a reply.
|
||||||
|
|
||||||
2005-03-03 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
|
2005-03-03 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
|
||||||
|
|
||||||
* gst/gstqueue.c: (gst_queue_chain):
|
* gst/gstqueue.c: (gst_queue_chain):
|
||||||
|
|
|
@ -720,10 +720,9 @@ gst_filesrc_get (GstPad * pad)
|
||||||
if (!gst_filesrc_check_filesize (src) || src->curoffset >= src->filelen) {
|
if (!gst_filesrc_check_filesize (src) || src->curoffset >= src->filelen) {
|
||||||
GST_DEBUG_OBJECT (src, "eos %" G_GINT64_FORMAT " %" G_GINT64_FORMAT,
|
GST_DEBUG_OBJECT (src, "eos %" G_GINT64_FORMAT " %" G_GINT64_FORMAT,
|
||||||
src->curoffset, src->filelen);
|
src->curoffset, src->filelen);
|
||||||
|
gst_element_set_eos (GST_ELEMENT (src));
|
||||||
|
return GST_DATA (gst_event_new (GST_EVENT_EOS));
|
||||||
}
|
}
|
||||||
gst_element_set_eos (GST_ELEMENT (src));
|
|
||||||
return GST_DATA (gst_event_new (GST_EVENT_EOS));
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#ifdef HAVE_MMAP
|
#ifdef HAVE_MMAP
|
||||||
|
|
13
gst/gst.c
13
gst/gst.c
|
@ -312,7 +312,6 @@ gst_init_check_with_popt_table (int *argc, char **argv[],
|
||||||
poptContext context;
|
poptContext context;
|
||||||
gint nextopt;
|
gint nextopt;
|
||||||
GstPoptOption *options;
|
GstPoptOption *options;
|
||||||
const gchar *gst_debug_env = NULL;
|
|
||||||
|
|
||||||
GstPoptOption options_with[] = {
|
GstPoptOption options_with[] = {
|
||||||
{NULL, NUL, POPT_ARG_INCLUDE_TABLE, poptHelpOptions, 0, "Help options:",
|
{NULL, NUL, POPT_ARG_INCLUDE_TABLE, poptHelpOptions, 0, "Help options:",
|
||||||
|
@ -357,11 +356,6 @@ gst_init_check_with_popt_table (int *argc, char **argv[],
|
||||||
context = poptGetContext ("GStreamer", *argc, (const char **) *argv,
|
context = poptGetContext ("GStreamer", *argc, (const char **) *argv,
|
||||||
options, 0);
|
options, 0);
|
||||||
|
|
||||||
/* check for GST_DEBUG environment variable */
|
|
||||||
gst_debug_env = g_getenv ("GST_DEBUG");
|
|
||||||
if (gst_debug_env)
|
|
||||||
parse_debug_list (gst_debug_env);
|
|
||||||
|
|
||||||
/* Scan until we reach the end (-1), ignoring errors */
|
/* Scan until we reach the end (-1), ignoring errors */
|
||||||
while ((nextopt = poptGetNextOpt (context)) != -1) {
|
while ((nextopt = poptGetNextOpt (context)) != -1) {
|
||||||
|
|
||||||
|
@ -475,16 +469,19 @@ init_pre (void)
|
||||||
bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
|
bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
|
||||||
#endif /* ENABLE_NLS */
|
#endif /* ENABLE_NLS */
|
||||||
|
|
||||||
#ifndef GST_DISABLE_REGISTRY
|
|
||||||
{
|
{
|
||||||
const gchar *debug_list;
|
const gchar *debug_list;
|
||||||
|
|
||||||
debug_list = g_getenv ("GST_DEBUG");
|
debug_list = g_getenv ("GST_DEBUG");
|
||||||
if (debug_list) {
|
if (debug_list) {
|
||||||
parse_debug_list (debug_list);
|
parse_debug_list (debug_list);
|
||||||
|
|
||||||
|
if (g_getenv ("GST_DEBUGNOCOLOR"))
|
||||||
|
gst_debug_set_colored (FALSE);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
/* This is the earliest we can make stuff show up in the logs.
|
/* This is the earliest we can make stuff show up in the logs.
|
||||||
* So give some useful info about GStreamer here */
|
* So give some useful info about GStreamer here */
|
||||||
GST_INFO ("Initializing GStreamer Core Library version %s", VERSION);
|
GST_INFO ("Initializing GStreamer Core Library version %s", VERSION);
|
||||||
|
|
|
@ -184,7 +184,8 @@ gst_clock_id_wait (GstClockID id, GstClockTimeDiff * jitter)
|
||||||
clock->entries = g_list_prepend (clock->entries, entry);
|
clock->entries = g_list_prepend (clock->entries, entry);
|
||||||
GST_UNLOCK (clock);
|
GST_UNLOCK (clock);
|
||||||
|
|
||||||
GST_CAT_DEBUG (GST_CAT_CLOCK, "waiting on clock");
|
GST_CAT_DEBUG (GST_CAT_CLOCK, "waiting on clock for time %" GST_TIME_FORMAT,
|
||||||
|
GST_TIME_ARGS (requested));
|
||||||
do {
|
do {
|
||||||
res = cclass->wait (clock, entry);
|
res = cclass->wait (clock, entry);
|
||||||
}
|
}
|
||||||
|
@ -434,7 +435,7 @@ gst_clock_set_speed (GstClock * clock, gdouble speed)
|
||||||
{
|
{
|
||||||
g_return_val_if_fail (GST_IS_CLOCK (clock), 0.0);
|
g_return_val_if_fail (GST_IS_CLOCK (clock), 0.0);
|
||||||
|
|
||||||
GST_WARNING_OBJECT (clock, "called deprecated function");
|
GST_CAT_WARNING_OBJECT (GST_CAT_CLOCK, clock, "called deprecated function");
|
||||||
return 1.0;
|
return 1.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -451,7 +452,7 @@ gst_clock_get_speed (GstClock * clock)
|
||||||
{
|
{
|
||||||
g_return_val_if_fail (GST_IS_CLOCK (clock), 0.0);
|
g_return_val_if_fail (GST_IS_CLOCK (clock), 0.0);
|
||||||
|
|
||||||
GST_WARNING_OBJECT (clock, "called deprecated function");
|
GST_CAT_WARNING_OBJECT (GST_CAT_CLOCK, clock, "called deprecated function");
|
||||||
return 1.0;
|
return 1.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -517,7 +518,8 @@ gst_clock_set_active (GstClock * clock, gboolean active)
|
||||||
{
|
{
|
||||||
g_return_if_fail (GST_IS_CLOCK (clock));
|
g_return_if_fail (GST_IS_CLOCK (clock));
|
||||||
|
|
||||||
GST_ERROR_OBJECT (clock, "called deprecated function that does nothing now.");
|
GST_CAT_ERROR_OBJECT (GST_CAT_CLOCK, clock,
|
||||||
|
"called deprecated function that does nothing now.");
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -535,7 +537,7 @@ gst_clock_is_active (GstClock * clock)
|
||||||
{
|
{
|
||||||
g_return_val_if_fail (GST_IS_CLOCK (clock), FALSE);
|
g_return_val_if_fail (GST_IS_CLOCK (clock), FALSE);
|
||||||
|
|
||||||
GST_WARNING_OBJECT (clock, "called deprecated function.");
|
GST_CAT_WARNING_OBJECT (GST_CAT_CLOCK, clock, "called deprecated function.");
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
@ -554,7 +556,7 @@ gst_clock_reset (GstClock * clock)
|
||||||
|
|
||||||
g_return_if_fail (GST_IS_CLOCK (clock));
|
g_return_if_fail (GST_IS_CLOCK (clock));
|
||||||
|
|
||||||
GST_ERROR_OBJECT (clock, "called deprecated function.");
|
GST_CAT_ERROR_OBJECT (GST_CAT_CLOCK, clock, "called deprecated function.");
|
||||||
|
|
||||||
cclass = GST_CLOCK_GET_CLASS (clock);
|
cclass = GST_CLOCK_GET_CLASS (clock);
|
||||||
|
|
||||||
|
@ -665,12 +667,12 @@ gst_clock_get_event_time_delay (GstClock * clock, GstClockTime delay)
|
||||||
|
|
||||||
if (ABS (GST_CLOCK_DIFF (clock->last_event, time + delay)) <
|
if (ABS (GST_CLOCK_DIFF (clock->last_event, time + delay)) <
|
||||||
clock->max_event_diff) {
|
clock->max_event_diff) {
|
||||||
GST_LOG_OBJECT (clock, "reporting last event time %" G_GUINT64_FORMAT,
|
GST_CAT_LOG_OBJECT (GST_CAT_CLOCK, clock,
|
||||||
clock->last_event);
|
"reporting last event time %" G_GUINT64_FORMAT, clock->last_event);
|
||||||
} else {
|
} else {
|
||||||
clock->last_event = time + delay;
|
clock->last_event = time + delay;
|
||||||
GST_LOG_OBJECT (clock, "reporting new event time %" G_GUINT64_FORMAT,
|
GST_CAT_LOG_OBJECT (GST_CAT_CLOCK, clock,
|
||||||
clock->last_event);
|
"reporting new event time %" G_GUINT64_FORMAT, clock->last_event);
|
||||||
}
|
}
|
||||||
|
|
||||||
return clock->last_event;
|
return clock->last_event;
|
||||||
|
|
|
@ -938,7 +938,7 @@ gst_element_wait (GstElement * element, GstClockTime timestamp)
|
||||||
GST_TIME_ARGS (time));
|
GST_TIME_ARGS (time));
|
||||||
if (time >= timestamp) {
|
if (time >= timestamp) {
|
||||||
GST_CAT_INFO_OBJECT (GST_CAT_CLOCK, element,
|
GST_CAT_INFO_OBJECT (GST_CAT_CLOCK, element,
|
||||||
"called gst_element_wait (% " GST_TIME_FORMAT ") and was late (%"
|
"called gst_element_wait (%" GST_TIME_FORMAT ") and was late (%"
|
||||||
GST_TIME_FORMAT, GST_TIME_ARGS (timestamp),
|
GST_TIME_FORMAT, GST_TIME_ARGS (timestamp),
|
||||||
GST_TIME_ARGS (gst_element_get_time (element)));
|
GST_TIME_ARGS (gst_element_get_time (element)));
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
11
gst/gstpad.c
11
gst/gstpad.c
|
@ -2551,7 +2551,8 @@ gst_pad_set_explicit_caps (GstPad * pad, const GstCaps * caps)
|
||||||
gst_caps_replace (&GST_RPAD_EXPLICIT_CAPS (pad), gst_caps_copy (caps));
|
gst_caps_replace (&GST_RPAD_EXPLICIT_CAPS (pad), gst_caps_copy (caps));
|
||||||
|
|
||||||
if (!GST_PAD_IS_LINKED (pad)) {
|
if (!GST_PAD_IS_LINKED (pad)) {
|
||||||
GST_CAT_DEBUG (GST_CAT_PADS, "pad is not linked");
|
GST_CAT_DEBUG (GST_CAT_PADS, "pad %s:%s is not linked",
|
||||||
|
GST_DEBUG_PAD_NAME (pad));
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
link_ret = gst_pad_try_set_caps (pad, caps);
|
link_ret = gst_pad_try_set_caps (pad, caps);
|
||||||
|
@ -3357,6 +3358,10 @@ gst_pad_pull (GstPad * pad)
|
||||||
/* refetch - we might have been relinked */
|
/* refetch - we might have been relinked */
|
||||||
link = GST_RPAD_LINK (pad);
|
link = GST_RPAD_LINK (pad);
|
||||||
peer = GST_RPAD_PEER (pad);
|
peer = GST_RPAD_PEER (pad);
|
||||||
|
if (!peer) {
|
||||||
|
/* Our peer disa-peer-ed ;) */
|
||||||
|
goto int_out;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (data) {
|
if (data) {
|
||||||
|
@ -3396,8 +3401,10 @@ gst_pad_pull (GstPad * pad)
|
||||||
GST_DEBUG_PAD_NAME (pad), GST_DEBUG_PAD_NAME (peer)));
|
GST_DEBUG_PAD_NAME (pad), GST_DEBUG_PAD_NAME (peer)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int_out:
|
||||||
data = GST_DATA (gst_event_new (GST_EVENT_INTERRUPT));
|
data = GST_DATA (gst_event_new (GST_EVENT_INTERRUPT));
|
||||||
DEBUG_DATA (pad, data, "gst_pad_pull returned created");
|
DEBUG_DATA (pad, data, "gst_pad_pull returning INTERRUPT");
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -720,10 +720,9 @@ gst_filesrc_get (GstPad * pad)
|
||||||
if (!gst_filesrc_check_filesize (src) || src->curoffset >= src->filelen) {
|
if (!gst_filesrc_check_filesize (src) || src->curoffset >= src->filelen) {
|
||||||
GST_DEBUG_OBJECT (src, "eos %" G_GINT64_FORMAT " %" G_GINT64_FORMAT,
|
GST_DEBUG_OBJECT (src, "eos %" G_GINT64_FORMAT " %" G_GINT64_FORMAT,
|
||||||
src->curoffset, src->filelen);
|
src->curoffset, src->filelen);
|
||||||
|
gst_element_set_eos (GST_ELEMENT (src));
|
||||||
|
return GST_DATA (gst_event_new (GST_EVENT_EOS));
|
||||||
}
|
}
|
||||||
gst_element_set_eos (GST_ELEMENT (src));
|
|
||||||
return GST_DATA (gst_event_new (GST_EVENT_EOS));
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#ifdef HAVE_MMAP
|
#ifdef HAVE_MMAP
|
||||||
|
|
Loading…
Reference in a new issue