DEBIAN: Debianization
ia32 hack.
Multiarch backward comaptibility.
baseparse: do not wait for more data when draining, it will never come
baseparse: print unsigned values as unsigned values
Avoids G_MAXUINT confusingly being printed as -1, among others.
Avoids G_MAXUINT confusingly being printed as -1, among others.
utils: add quark and mini-object boilerplate macros
hack: disable buffer writability check
For private buffer metadata (ie. elements that attach their own private
bookkeeping data to a buffer), we don't care about preserving immutability
semantics of a buffer..
For private buffer metadata (ie. elements that attach their own private
bookkeeping data to a buffer), we don't care about preserving immutability
semantics of a buffer..
basetransform: don't do unnecessary pad_alloc()
Don't allocate a buffer in passthrough mode.
Don't allocate a buffer in passthrough mode.
Refresh gstreamer-sections.txt
Add GST_EVENT_LIVE_FLUSH.
This is needed by live sources to unblock buffer_alloc going from PLAYING to
PAUSED.
Currently basesrc assumes that ::create can always be unblocked. When going from
PLAYING to PAUSED it can happen that a live source is blocked in a buffer_alloc
call and so we need a way to unblock it.
This is needed by live sources to unblock buffer_alloc going from PLAYING to
PAUSED.
Currently basesrc assumes that ::create can always be unblocked. When going from
PLAYING to PAUSED it can happen that a live source is blocked in a buffer_alloc
call and so we need a way to unblock it.
Add GstEventCrop event
This event can be used to set cropping / region-of-interest to take effect
on the following buffer.
This event can be used to set cropping / region-of-interest to take effect
on the following buffer.
add GstQueryBuffers query
This query is used by buffer allocator, for example a video sink element,
to find out any minimum buffer requirements of upstream elements that uses
pad_alloc() to allocate buffers. For example, some cameras may have need
for additional padding/boarder around the frame (for vstab), or some video
decoders may have requirements for a certain minimum number of buffers (so
they can hold refs to reference-frames)
This query is used by buffer allocator, for example a video sink element,
to find out any minimum buffer requirements of upstream elements that uses
pad_alloc() to allocate buffers. For example, some cameras may have need
for additional padding/boarder around the frame (for vstab), or some video
decoders may have requirements for a certain minimum number of buffers (so
they can hold refs to reference-frames)
Changes to make it possible to LD_PRELOAD libttif
1) if GST_USING_PRINTF_EXTENSION, then prepend the fmt string with "<%P> " and
pass object as a normal arg. When using TTIF, you want the whole fmt string,
including the object name prefix, to be constant. This way, only the fmt
string pointer needs to be logged.
2) GstDebugTraceLocation: small optimization to stash __FILE__, __LINE__, and
GST_FUNCTION together and pass as a single ptr.. the optimization is probably
lost in the noise with the default printf() based traces, but makes more of a
difference with faster trace systems
Incorporate modifications by Ricardo Salveti de Araujo in order to work out
some errors from recent versions of GStreamer.
1) if GST_USING_PRINTF_EXTENSION, then prepend the fmt string with "<%P> " and
pass object as a normal arg. When using TTIF, you want the whole fmt string,
including the object name prefix, to be constant. This way, only the fmt
string pointer needs to be logged.
2) GstDebugTraceLocation: small optimization to stash __FILE__, __LINE__, and
GST_FUNCTION together and pass as a single ptr.. the optimization is probably
lost in the noise with the default printf() based traces, but makes more of a
difference with faster trace systems
Incorporate modifications by Ricardo Salveti de Araujo in order to work out
some errors from recent versions of GStreamer.
gst-launch: add --loop argument
if --loop is specified, automatically seek to beginning of clip when EOS is received
if --loop is specified, automatically seek to beginning of clip when EOS is received
Release 0.10.36
po: update translations
baseparse: fix reverse playback
... especially for all-keyframe (audio) cases.
... especially for all-keyframe (audio) cases.
baseparse: bitrate mechanics should not deal with duration update
... since that is already handled by _update_duration, or should not be done
altogether if the duration is determined by non-estimated means.
Fixes #669502.
... since that is already handled by _update_duration, or should not be done
altogether if the duration is determined by non-estimated means.
Fixes #669502.
0.10.35.3 pre-release
registry: fix compilation with --disable-registry
__registry_reuse_plugin_scanner is only defined when
GST_DISABLE_REGISTRY is not defined.
gstregistry.c: In function 'gst_registry_scan_plugin_file':
gstregistry.c:1131:8: error: '__registry_reuse_plugin_scanner' undeclared (first use in this function)
https://bugzilla.gnome.org/show_bug.cgi?id=667284
__registry_reuse_plugin_scanner is only defined when
GST_DISABLE_REGISTRY is not defined.
gstregistry.c: In function 'gst_registry_scan_plugin_file':
gstregistry.c:1131:8: error: '__registry_reuse_plugin_scanner' undeclared (first use in this function)
https://bugzilla.gnome.org/show_bug.cgi?id=667284
bin: reset the EOS detection machinery after sending an EOS message
This will allow detecting further EOS, for instance after looping
a stream without changing states.
https://bugzilla.gnome.org/show_bug.cgi?id=668289
This will allow detecting further EOS, for instance after looping
a stream without changing states.
https://bugzilla.gnome.org/show_bug.cgi?id=668289
Fixes the lack of an include directive in gst/gstpreset.h
It blocked the build of external libraries depending on gstreamer-core (namely, gstreamermm).
Complete bug report at https://bugzilla.gnome.org/show_bug.cgi?id=669036
It blocked the build of external libraries depending on gstreamer-core (namely, gstreamermm).
Complete bug report at https://bugzilla.gnome.org/show_bug.cgi?id=669036
collectpads2: Move private fields from the public structs to private structs
Fixes bug #668764.
Fixes bug #668764.
baseparse: clear adapter in reset so baseparse is reusable
GstBaseParse was not clearing its adapter on reset causing
problems when a pipeline went for example from PLAYING to NULL
state and then back to PLAYING again. The data from the last
stream would be used in the parser.
https://bugzilla.gnome.org/show_bug.cgi?id=667444
GstBaseParse was not clearing its adapter on reset causing
problems when a pipeline went for example from PLAYING to NULL
state and then back to PLAYING again. The data from the last
stream would be used in the parser.
https://bugzilla.gnome.org/show_bug.cgi?id=667444
gststructure: clarify _get docs about the returned reference
https://bugzilla.gnome.org/show_bug.cgi?id=667689
https://bugzilla.gnome.org/show_bug.cgi?id=667689
basesink: don't compensate for render-delay twice
https://bugzilla.gnome.org/show_bug.cgi?id=667298
https://bugzilla.gnome.org/show_bug.cgi?id=667298
gst: include locale.h before any other i18n headers
This is also how we do it in -base.
https://bugzilla.gnome.org/show_bug.cgi?id=667290
This is also how we do it in -base.
https://bugzilla.gnome.org/show_bug.cgi?id=667290
plugins: explicitly cast initialization values to the correct type
https://bugzilla.gnome.org/show_bug.cgi?id=667288
https://bugzilla.gnome.org/show_bug.cgi?id=667288
poll: include correct poll.h based on autoconf test
https://bugzilla.gnome.org/show_bug.cgi?id=667286
https://bugzilla.gnome.org/show_bug.cgi?id=667286
configure: check for sys/poll.h
https://bugzilla.gnome.org/show_bug.cgi?id=667286
https://bugzilla.gnome.org/show_bug.cgi?id=667286
convert Makefile spaces to tabs
filesrc: return any remaining data on EOS before returning FLOW_UNEXPECTED
filesrc: minor cosmetic changes
Rename woffset variable, maintain separate bytes_read in addition
to length variable.
Rename woffset variable, maintain separate bytes_read in addition
to length variable.
basetransform: suggestion compatible with upstream is not much of a suggestion
... in that upstream is already complying with that suggestion.
Fixes #666174.
... in that upstream is already complying with that suggestion.
Fixes #666174.
collectpads2: delay collecting buffer if a pad newly set waiting
... as commented; make code correspond to it (again).
... as commented; make code correspond to it (again).
filesrc: do not mistake short reads for EOS
While local filesystems will usually not cause short reads,
this may happen on seekable files on some remote filesystems.
Instead, loop till we get the requested amount of data, or
an actual EOS (ie, 0 bytes).
https://bugzilla.gnome.org/show_bug.cgi?id=665921
While local filesystems will usually not cause short reads,
this may happen on seekable files on some remote filesystems.
Instead, loop till we get the requested amount of data, or
an actual EOS (ie, 0 bytes).
https://bugzilla.gnome.org/show_bug.cgi?id=665921
glib-compat: Add license boilerplate for LGPL
0.10.35.2 pre-release
po: update translations
preset: allow applications to specify an extra preset dir
An extra application preset dir help to organize presets created for special
purposes. Fixes #660760
API: gst_preset_set_app_dir(), gst_preset_get_app_dir()
An extra application preset dir help to organize presets created for special
purposes. Fixes #660760
API: gst_preset_set_app_dir(), gst_preset_get_app_dir()
basetransform: Fix code path to come up with possible caps if incompatible caps are provided to buffer_alloc()
Previous code could almost never work and this should be slightly
better.
Previous code could almost never work and this should be slightly
better.
12 years agobasetransform: Fall back to upstream provided caps if suggested caps are not supporte...
basetransform: Fall back to upstream provided caps if suggested caps are not supported by the sinkpad
basetransform: Fall back to upstream provided caps if fixation of suggested caps failed
basetransform: Refactor gst_base_transform_buffer_alloc() code
Don't check if upstream provided caps are compatible with upstream
and don't try to fixate these caps. They must be fixated in any case.
Don't check if upstream provided caps are compatible with upstream
and don't try to fixate these caps. They must be fixated in any case.
baseparse: do not use a byte value instead of a time value when bisecting
This fixes FLAC seeking on some FLAC files.
This fixes FLAC seeking on some FLAC files.
selector: Push newsegment events before any buffers are pushed in the unit test
inputselector: Don't send a NEWSEGMENT event if a buffer arrived before the segment was configured
outputselector: Don't send last segment/buffer when no segment was configured yet
basetransform: If suggested caps are not compatible with upstream try to come up with compatible caps
Fixes bug #662199.
Fixes bug #662199.
indexfactory: fix memory leak
Introduced by commit bd302bb6 pluginfeature: avoid duplicating feature->name
https://bugzilla.gnome.org/show_bug.cgi?id=459466
https://bugzilla.gnome.org/show_bug.cgi?id=665703
Introduced by commit bd302bb6 pluginfeature: avoid duplicating feature->name
https://bugzilla.gnome.org/show_bug.cgi?id=459466
https://bugzilla.gnome.org/show_bug.cgi?id=665703
fakesink: Make event/buffer verbose output consistent with identity
identity: Print buffer flags in the verbose output
fakesrc: Make event/buffer verbose output consistent with identity and print buffer flags
check: allow non-joinable threads in private g_thread_create() copy
Looks like some tests use non-joinable threads after all.
Looks like some tests use non-joinable threads after all.
Suppress deprecation warnings in selected files, for g_static_rec_mutex_* mostly
GStaticRecMutex is part of our API/ABI, not much we can do here in 0.10.
GStaticRecMutex is part of our API/ABI, not much we can do here in 0.10.
Work around deprecated thread API in glib master
Add private replacements for deprecated functions such as
g_mutex_new(), g_mutex_free(), g_cond_new() etc., mostly
to avoid the deprecation warnings. We can't change most of
these in 0.10 because they're part of our API and ABI.
Add private replacements for deprecated functions such as
g_mutex_new(), g_mutex_free(), g_cond_new() etc., mostly
to avoid the deprecation warnings. We can't change most of
these in 0.10 because they're part of our API and ABI.
benchmarks: g_thread_create() is deprecated in GLib master, use g_thread_try_new() instead
net: initialise GError variables to NULL
g_thread_init() is deprecated in glib master
It's not needed any longer.
It's not needed any longer.
tagsetter: update for thread API deprecations in glib master
taglist: update for thread API deprecations in glib master
g_thread_create() is deprecated in GLib master, use g_thread_try_new() instead
identity: unlock clock wait when appropriate
... notably FLUSH and state change to READY.
... notably FLUSH and state change to READY.
bus: use GST_MESSAGE_SOURCE_NAME() which also takes care of src=NULL.
basetransform: Always intersect the suggested sink caps with the peer caps
This makes sure that we get correct and complete caps. The suggested caps
could be incomplete, e.g. video/x-raw-rgb without any fields, and by
intersecting with the peer caps we get something usable.
Fixes bug #662199.
This makes sure that we get correct and complete caps. The suggested caps
could be incomplete, e.g. video/x-raw-rgb without any fields, and by
intersecting with the peer caps we get something usable.
Fixes bug #662199.
event: warn and fail instead of creating newsegment events in GST_FORMAT_UNDEFINED
gstelement: add gst_element_class_add_pad_template_from_static
This function helps ensure the pad template is unreffed
without having to complicate the calling code.
https://bugzilla.gnome.org/show_bug.cgi?id=662664
This function helps ensure the pad template is unreffed
without having to complicate the calling code.
https://bugzilla.gnome.org/show_bug.cgi?id=662664
queue2: fix refactoring of draining-on-eos, munge flow return to FLOW_OK
queue2: add bufferlist support
We want to maintain buffer lists if possible.
We want to maintain buffer lists if possible.
queue2: split out draining of queue on FLOW_UNEXPECTED into separate function
queue2: pass item type enum to _enqueue instead of simple isbuffer boolean
Avoids some unnecessary GST_IS_EVENT()
Avoids some unnecessary GST_IS_EVENT()
warnings: avoid set-but-unused warnings with load-save disabled
uri: fix wrong G_GNUC_MALLOC
_get_protocols() points to const memory in 0.10
despite the non-const return value.
_get_protocols() points to const memory in 0.10
despite the non-const return value.
libs: sprinkle some G_GNUC_MALLOC
Maybe gcc can do something clever with that, or at least
warn us if we don't save the return value somewhere.
Maybe gcc can do something clever with that, or at least
warn us if we don't save the return value somewhere.
gst: sprinkle some G_GNUC_MALLOC
Maybe gcc can do something clever with that, or at least
warn us if we don't save the return value somewhere.
Maybe gcc can do something clever with that, or at least
warn us if we don't save the return value somewhere.
buffer: add gst_buffer_{set,get}_qdata()
Allows people/us to attach arbitrary metadata to buffers.
https://bugzilla.gnome.org/show_bug.cgi?id=664720
API: gst_buffer_set_qdata()
API: get_buffer_get_qdata()
Allows people/us to attach arbitrary metadata to buffers.
https://bugzilla.gnome.org/show_bug.cgi?id=664720
API: gst_buffer_set_qdata()
API: get_buffer_get_qdata()
pad: Remove g_warning() if pad accepted caps that are not a subset of the pad caps
This check is correct but unfortunately it's impossible to implement
in a threadsafe way because the caps could have changed in the meantime.
Fixes bug #659606.
This check is correct but unfortunately it's impossible to implement
in a threadsafe way because the caps could have changed in the meantime.
Fixes bug #659606.
multiqueue: check filled state of queues even if another one is empty
This will avoid a case where overrun is never signalled if some
stream never produces any data, causing playbin2 to not end preroll.
https://bugzilla.gnome.org/show_bug.cgi?id=660778
This will avoid a case where overrun is never signalled if some
stream never produces any data, causing playbin2 to not end preroll.
https://bugzilla.gnome.org/show_bug.cgi?id=660778
baseparse: Return template caps instead of other side's peer caps if get_sink_caps vfunc is not implemented
Using gst_pad_proxy_get_caps() breaks backwards compatibility with old
parsers because it will propagate the other side's fields like "parsed"
and "framed" and also breaks parser/converters.
Fixes bug #664221.
Using gst_pad_proxy_get_caps() breaks backwards compatibility with old
parsers because it will propagate the other side's fields like "parsed"
and "framed" and also breaks parser/converters.
Fixes bug #664221.
gst-inspect: print current value as default value
Instead of printing separate 'Current' and 'Default' values
(the former obtained via g_object_get() and the latter from
the property GParamSpec), simply print the Current value as
the Default value. This is the right thing to do for almost
all elements and avoids confusion if a subclass of a base
class chooses a different default than the base class.
Instead of printing separate 'Current' and 'Default' values
(the former obtained via g_object_get() and the latter from
the property GParamSpec), simply print the Current value as
the Default value. This is the right thing to do for almost
all elements and avoids confusion if a subclass of a base
class chooses a different default than the base class.
gst, controller: replace g_list_prepend + reverse with GQueue
Android: build audio controller example
Add buildsystem hooks for building the audiocontroller example
with the NDK.
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
Add buildsystem hooks for building the audiocontroller example
with the NDK.
Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
gstvalue: consider lists and ranges equal if they hold the same set
This fixes caps operations when different elements advertise some
of their caps' properties differently (eg, for audio channels, either
a range from 1 to 2, or a list of 1 and 2).
https://bugzilla.gnome.org/show_bug.cgi?id=663643
This fixes caps operations when different elements advertise some
of their caps' properties differently (eg, for audio channels, either
a range from 1 to 2, or a list of 1 and 2).
https://bugzilla.gnome.org/show_bug.cgi?id=663643
tests: add a subset test for structure
docs: also fix wrong call order for controller in manual
tests: pad: add test to verify flushing behaviour
Seems like a trivial case, but this was actually broken in 0.11 recently.
Seems like a trivial case, but this was actually broken in 0.11 recently.
docs: fix Since: markers for API added after 0.10.35
win32: update .def file for new API
API: gst_caps_is_strictly_equal()
API: gst_caps_is_strictly_equal()
gstcaps: remove unneeded use of gint64
https://bugzilla.gnome.org/show_bug.cgi?id=662777
https://bugzilla.gnome.org/show_bug.cgi?id=662777
gstvalue: quicker version of intersection when we do not need the result
https://bugzilla.gnome.org/show_bug.cgi?id=662777
https://bugzilla.gnome.org/show_bug.cgi?id=662777
gststructure: simplify return statement in gst_structure_can_intersect
https://bugzilla.gnome.org/show_bug.cgi?id=662777
https://bugzilla.gnome.org/show_bug.cgi?id=662777
gststructure: early out when we know a value cannot be a subset
If two values can be ordered, but are unequal, they are
necessarily distinct, thus one cannot be a subset of the other.
https://bugzilla.gnome.org/show_bug.cgi?id=662777
If two values can be ordered, but are unequal, they are
necessarily distinct, thus one cannot be a subset of the other.
https://bugzilla.gnome.org/show_bug.cgi?id=662777
gstvalue: quicker test for substraction emptiness
When we do not care about the actual resulting set,
but only whether it is empty of not, we can skip a fair bit
of GValue juggling.
Add a function that does so, since we cannot just pass NULL
to the existing API as it may be part of the API contract.
https://bugzilla.gnome.org/show_bug.cgi?id=662777
When we do not care about the actual resulting set,
but only whether it is empty of not, we can skip a fair bit
of GValue juggling.
Add a function that does so, since we cannot just pass NULL
to the existing API as it may be part of the API contract.
https://bugzilla.gnome.org/show_bug.cgi?id=662777
gststructure: rejig test ordering for speed
https://bugzilla.gnome.org/show_bug.cgi?id=662777
https://bugzilla.gnome.org/show_bug.cgi?id=662777
basetransform: Only use the cached transform on strictly equal caps
https://bugzilla.gnome.org/show_bug.cgi?id=663333
https://bugzilla.gnome.org/show_bug.cgi?id=663333
caps: Add gst_caps_is_strictly_equal
12 years agointrospection: add Value annotations for GST_SECOND, GST_MSECOND, GST_USECOND, GST_NS...
introspection: add Value annotations for GST_SECOND, GST_MSECOND, GST_USECOND, GST_NSECOND constants
gobject-introspection won't parse them properly otherwise.
Still need to force the right type though (either GstClockTime or
guint64), but Type: xyz has no effect for me here, so someone with
a newer g-i needs to test this.
Some other defines are also missing, e.g. GST_CLOCK_TIME_NONE.
gobject-introspection won't parse them properly otherwise.
Still need to force the right type though (either GstClockTime or
guint64), but Type: xyz has no effect for me here, so someone with
a newer g-i needs to test this.
Some other defines are also missing, e.g. GST_CLOCK_TIME_NONE.