Commit graph

2063 commits

Author SHA1 Message Date
Wim Taymans
c10690aea2 TODO: add item to TODO list
We currently do a little too much work when we push the first buffer around
resulting in excessive caps checking. We can probably make this a little less
expensive.
2009-10-22 16:42:13 -04:00
Benjamin Otte
0ff4086507 Improve caps setters API
This patch adds gst_caps_set_value() and allows gst_caps_set_simple() to
work on non-simple caps. See the API documentation for the functions
about what they do.

The intention of these changes is to ease working with caps in caps
transform functions. An example for this would be ffmpegcolorspace,
where the caps transform function could be changed to look roughly like
this (pseudocode ahead):
  result = gst_caps_copy (template_caps);
  value = gst_structure_get_value (gst_caps_get_structure (caps, 0),
    "widh");
  gst_caps_set_value (result, value);
  /* same for height, framerate and par */
  return caps;
which is much cleaner and easier to understand than the current code.

https://bugzilla.gnome.org/show_bug.cgi?id=597690
2009-10-15 19:10:50 +02:00
Jan Schmidt
aeb3f1f1ff plugin docs: Add GST_PLUGIN_SCANNER env var to the inspect environment 2009-10-08 11:17:14 +01:00
Stefan Kost
fcc5d783df pad: add variants of gst_pad_get_caps() that don't copy caps. Fixes #590941
In most places in core and baseclasses we just need the caps to do caps-
intersections. In that case ref'ed caps are enough (no need to copy).
This patch also switches the code to use the new functions.
API: gst_pad_get_caps_refed(), gst_pad_peer_get_caps_refed()
2009-10-07 22:41:30 +03:00
Sebastian Dröge
def3f57c4f bytewriter: Add to the docs 2009-10-07 18:40:37 +02:00
Stefan Kost
18a903e93d docs: add new queue api to the docs to fix the build 2009-10-07 11:07:24 +03:00
Stefan Kost
cfb4aa4627 build: sprintf, sscanf need stdio.h 2009-10-07 10:59:54 +03:00
Sebastian Dröge
fe83b6fa66 gst-uninstalled: Extend environment variables to allow using an uninstalled gstreamer-sharp 2009-10-07 09:59:32 +02:00
Jan Schmidt
72953ec2bb docs: Update the release script
Remove old cruft from the release script, and change some CVS
references to equivalent git commands
2009-10-06 19:51:45 +01:00
Jan Schmidt
8bf3d8cec2 registry: Support installed/uninstalled plugin-scanner helper
Add a simple version check when starting the plugin-scanner so we can
verify we're talking to one that talks the same language.
First try a plugin-scanner in the installed path, then try one via the
GST_PLUGIN_SCANNER env var if that doesn't work.
Update the uninstalled script.
Install the plugin-scanner to the libexec dir
2009-10-06 19:51:44 +01:00
Jan Schmidt
51675e0c2a registry: Add registry helper phase 1
Phase 1 of adding the registry scan helper
2009-10-06 19:51:42 +01:00
Jan Schmidt
fe5106cee0 Release 0.10.25 2009-10-05 12:57:03 +01:00
Stefan Kost
575e50fbbc design: add ideas for buffer management
Right now we're operating suboptimal when talking to kernel interfaces. Write
doesn some ideas.
2009-09-09 09:43:39 +03:00
Tim-Philipp Müller
4c103b00b5 bytereader: add unchecked and inline versions of the float getters/peekers
API: gst_byte_reader_get_float*_unchecked()
2009-09-06 18:51:18 +01:00
Tim-Philipp Müller
080b2e4fd5 bytereader: add inlined _unchecked() variants for some functions
API: gst_byte_reader_skip_unchecked()
API: gst_byte_reader_peek_*_unchecked()
API: gst_byte_reader_get_*_unchecked()
API: gst_byte_reader_{peek,get,dup}_data_unchecked()
2009-09-06 18:51:13 +01:00
Jan Schmidt
5f8f21cfe5 docs: Add a note about regenerating the changelog in the release script 2009-09-01 12:08:17 +01:00
Sebastian Dröge
b2cab40745 iterator: API: Add gst_iterator_new_single()
This allows "iteration" over a single object of some type,
which happens often for the GstPadIterIntLinksFunction for example.
2009-08-26 16:39:19 +02:00
Tim-Philipp Müller
78ef5ff4c7 docs: add link to cgit tarball download of gst-template in PWG
So people who can't use git for some reason still can get hold
of the code. See #591069.
2009-08-21 10:02:17 +01:00
Sebastian Dröge
9f0e832c6c docs: Don't talk about the deprecated libgnome and GNOME-VFS
Instead talk about GIO and change the option parsing example to
not initialize libgnome but only GTK.

Fixes bug #592233.
2009-08-19 16:24:39 +02:00
Sebastian Dröge
bf8af3f734 docs: Update the design docs for bin state changes according to last commit 2009-08-18 11:38:38 +02:00
Sebastian Dröge
76338950f9 gstutils: Add new scaling functions to the docs 2009-08-13 16:32:28 +02:00
Edward Hervey
adb16ca162 docs: add Edward's git plugin moving howto to moving-plugins document 2009-08-11 02:54:55 +01:00
Tim-Philipp Müller
ecbea36d39 check: use private copy of check for libgstcheck
See #577275. Seems to work fine, but doesn't distcheck yet.
2009-08-06 17:27:12 +01:00
Stefan Kost
568202cb47 caps: add gst_caps_can_intersect()
Often we don't need the result of the intersection. Add a variant that only
tries to intersect. It can break out earlier and does less GValue copying.
API: gst_caps_can_intersect()
2009-08-06 15:30:33 +03:00
Tim-Philipp Müller
19847e1956 gst-uninstalled: rename uninstalled registry file to registry.dat
We're not using the xml registry any longer after all.
2009-08-06 09:21:43 +01:00
Tim-Philipp Müller
0f0d3cb146 gst-uninstalled: refine search paths for uninstalled plugin modules
Use more refined search paths for our plugin modules. Not only does
this make things much faster in an uninstalled setup, it also makes
sure we're not accidentally using out-of-date plugins built ages
ago as part of a (failed) 'make distcheck' when we forget to clean
up the distcheck build directory.
2009-08-06 09:21:33 +01:00
Tim-Philipp Müller
02790ee700 docs: dist GStreamer-1.0 buffer design draft 2009-08-06 09:21:19 +01:00
Sebastian Dröge
ea9e3392c1 taglist: Add new ALBUM_ARTIST tag to the docs 2009-08-06 06:50:41 +02:00
Jan Schmidt
6bba2b6eeb Release 0.10.24 2009-08-05 00:53:17 +01:00
Tim-Philipp Müller
623c19983a check: make new GstStreamConsistency structure private
There's no need to have GstStreamConsistency in a public header for
the time being, so make it private. While we're at it, add a gtk-doc
blurb for it though. Re-fixes #588744.
2009-07-28 15:26:42 +01:00
Edward Hervey
dcdc73d182 gstcheck: Add a stream consistency checking helper routine. Fixes #588744 2009-07-20 10:46:19 +02:00
Edward Hervey
f39cfbebbf docs/design: Update Makefile.am for changed framestep document name. 2009-07-13 09:33:45 +02:00
Wim Taymans
dd670cb5b5 docs: add draft for arbitrary buffer metadata idea 2009-07-10 18:46:39 +01:00
Wim Taymans
8ecbf002b8 docs: more framestep docs out of draft 2009-07-10 18:35:21 +01:00
Wim Taymans
c5c136251b docs: update framestep document
Remove experimental status from the framestep draft.
2009-07-10 18:33:58 +01:00
Stefan Kost
2cb16ad7aa info: allow getting other log categories. Fixes #587417
Add a new macro GST_DEBUG_CATEGORY_GET to get a log category by name. This
allows plugins to use e.g. core categories like PERFORMANCE or CLOCK.
API: GST_DEBUG_CATEGORY_GET
2009-07-06 19:54:30 +01:00
Tim-Philipp Müller
6b64d41937 bytereader: add a bunch of utility functions for strings and a data dup function
API: gst_byte_reader_dup_data
API: gst_byte_reader_dup_string
API: gst_byte_reader_dup_string_utf8
API: gst_byte_reader_dup_string_utf16
API: gst_byte_reader_dup_string_utf32
API: gst_byte_reader_skip_string
API: gst_byte_reader_skip_string_utf8
API: gst_byte_reader_skip_string_utf16
API: gst_byte_reader_skip_string_utf32
API: gst_byte_reader_peek_string
API: gst_byte_reader_peek_string_utf8
API: gst_byte_reader_get_string
API: gst_byte_reader_get_string_utf8

And some basic unit tests. Fixes #586568.
2009-06-23 02:17:48 +01:00
Wim Taymans
6438f6f9b9 bufferlist: Various cleanups
Add new method to iterate a bufferlist without having to allocate an iterator.
Add convenience method for getting an item from the list based on the group and
index.
Remove redundant _do_data callback and method.
Update unit-tests and add some more for the new methods.
2009-06-19 15:31:53 +02:00
Tim-Philipp Müller
dccea0406b taglist: add functions to create a new taglist with tags in one go
Add functions to create a new tag list and set tags in one go, which
is nice for use in combination with functions that take ownership of
the taglist, such as gst_event_new_tag() or gst_element_found_tags().

API: add gst_tag_list_new_full()
API: add gst_tag_list_new_full_valist()
2009-06-14 16:17:50 +01:00
Tim-Philipp Müller
674447fafe bytereader: add gst_byte_reader_masked_scan_uint32()
Add a pattern scan function similar to the one recently added to
GstAdapter, and a unit test (based on the adapter one).
Fixes #585592.

API: add gst_byte_reader_masked_scan_uint32()
2009-06-13 10:53:49 +01:00
Wim Taymans
25067558dc stepping: more stepping improvements
Update design doc with step-start docs.
Add eos field to step done message
when stepping in reverse, update the segment time field.
Flush out the current step when we are flushing.
2009-06-12 13:20:36 +02:00
Wim Taymans
e969b3a399 message: add step-start message 2009-06-12 13:16:29 +02:00
Jan Schmidt
29170a4cfa docs: Bump common, fix the upload logic inclusion
Update the common submodule, and fix the docs upload rules to include
the right makefile snippet from common.
2009-06-11 13:16:29 +01:00
Tim-Philipp Müller
cdd47a37e9 structure: add gst_structure_*_get*() vararg functions
Add a bunch of vararg getter convenience functions to complement
the vararg setter functions, and a basic unit test. Fixes #534208.

API: gst_structure_get()
API: gst_structure_id_get()
API: gst_structure_get_valist()
API: gst_structure_id_get_valist()
2009-06-10 09:39:12 +01:00
Wim Taymans
89c42f8506 stepping: do flushing steps correctly
Note in the docs that a flushing step in PLAYING brings the pipeline to the lost
state and skips the data before prerolling again.

Implement the flushing step correctly by invalidating the current step
operation, which would activate the new step operation.
2009-06-08 17:41:56 +02:00
Stefan Kost
ed88db818b registry: allow plugins to cache extra data in registry. Fixes #570233
Add a GstStructure to GstPlugin. Plugins can retieve it in plugin_init and
access the cached info or build the cache and store it there.
2009-06-07 23:48:59 +03:00
Wim Taymans
0e74bfe248 segment: add gst_segment_set_running_time
Added new method for closing the segment to a specific running time.

API: GstSegment::gst_segment_set_running_time()
2009-06-04 12:53:20 +02:00
Tim-Philipp Müller
604097bc3a API: add GST_MESSAGE_SRC_NAME macro
Add GST_MESSAGE_SRC_NAME macro that always returns a non-NULL string.
Useful for debugging and logging purposes.
2009-06-04 00:40:51 +01:00
Wim Taymans
92984a116b segment: add method for converting to position
Add gst_segment_to_position() that converts a running_time to a position in the
segment. A faulty variant of this function is currently used in inputselector
but we'll need it for frame stepping too.

API: GstSegment::gst_segment_to_position()
2009-06-03 19:06:30 +02:00
Tim-Philipp Müller
df851d54ef docs: fix up reference to gst-launch-0.8
Also mention decodebin2, uridecodebin, and playbin2
2009-06-03 09:49:59 +01:00
Wim Taymans
0c205b96b4 framestep: implement backwards framestep
Update framestep document, we want to pass the flush flag in the step-done
message.

Add flush flag to the gstmessage.

Update examples to use the new step-done message api.

Implement framestep with playback rates < 0.0 too.
2009-06-01 13:37:28 +02:00
Wim Taymans
386c516e51 add new API for framestepping
Add new STEP event and methods for creating/parsing the event
Update design docs.
Add new STEP_DONE message and method to create/parse.

API: GstEvent::gst_event_new_step()
API: GstEvent::gst_event_parse_step()
API: GstMessage::gst_message_new_step_done()
API: GstMessage::gst_message_parse_step_done()
2009-06-01 13:36:49 +02:00
Tim-Philipp Müller
c8acbbfde0 structure: add gst_structure_id_new() convenience function
Add convenience wrapper for gst_structure_id_empty_new() plus
gst_structure_id_set() and use it in a few places.

API: gst_structure_id_new()
2009-05-29 19:28:10 +01:00
Wim Taymans
170b9d6253 docs: remove a TODO item that is fixed now 2009-05-29 12:48:28 +02:00
Wim Taymans
83b2c63a30 element: add start_time field an methods
Add a start_time field and some methods. The start_time will contain the
running_time of when the element last went to paused. This time can be user to
report the position in PAUSED but also to do more correct clipping and
stepping later.
2009-05-29 11:55:38 +02:00
Wim Taymans
8f7c59936e pad: add pad private structure
Add pad private structure and move the new chainlistfunc into the private
struct. This avoids ABI breakage and allows us to expand in the future.
2009-05-28 16:36:32 +02:00
Sebastian Dröge
4e8f547f98 API: Add gst_message_{new,parse}_tag_full() to get/set the source pad
Fixes bug #582588.
2009-05-27 14:32:51 +02:00
Tim-Philipp Müller
7a265c1451 manuals.mak: attempt to make 'make distcheck' work with -jN
Attempt to fix the 'cannot create regular file build/image.entitites:
file exists' error I got.
2009-05-26 10:38:56 +01:00
Wim Taymans
6fd78ac41c docs: add Image to draft klass documentation 2009-05-25 14:53:08 +02:00
Wim Taymans
13c4a06e03 docs: add new symbol to docs 2009-05-20 00:44:11 +02:00
Wim Taymans
bb8f296d45 clock: use seqlocks to parallellize readers 2009-05-15 16:14:52 +02:00
Edward Hervey
4f951e2614 Makefile.am: update for added/moved/removed files that weren't dist-ed. 2009-05-15 11:00:53 +02:00
Jan Schmidt
b99d1f382a docs: Release script modifications 2009-05-14 22:56:43 +01:00
Wim Taymans
e535c171d6 docs: rename and delete some design docs 2009-05-14 12:31:57 +02:00
Wim Taymans
ae08561ae6 element: add gst_element_lost_state_full()
Add a gst_element_lost_state_full() with an extra argument to control
distribution of a new base_time. We will need this for flushing step
operations.

API: GstElement::gst_element_lost_state_full()
2009-05-14 11:36:28 +02:00
Wim Taymans
0f83510620 docs: update trickmode document 2009-05-13 23:38:08 +02:00
Wim Taymans
bb013081a4 adapter: move new member to private struct
Move the new members to a private struct because we don't have enough padding
anymore on 32-bits platforms.
2009-05-13 21:35:23 +02:00
Wim Taymans
3d19b75147 adapter: add method to keep track of timestamps
Keep track of the timestamp and offset associated with the current head of the
adapter.

API: GstAdapter::gst_adapter_prev_timestamp()
2009-05-13 16:22:58 +02:00
Wim Taymans
079c68fdf4 docs: add some docs about buffer lists 2009-05-12 17:29:15 +02:00
Jonas Holmberg
22a48fb08c bufferlist: hook up the pad functions
Reuse buffer code for bufferlists. Not sure if this measurably impacts performance
for the simple buffer case, if it does after doing some benchmarks, we can
decouple it later.

Fixes #572285
2009-05-12 15:18:53 +02:00
Jonas Holmberg
d99cf4db1b bufferlist: add docs/build/debug/unittest
See #572285
2009-05-12 15:18:52 +02:00
José Alburquerque
7ff2f9233f API: Add gst_plugin_register_static_full()
This is mainly useful for bindings that need to provide
some additional user data to the registration function.

Fixes bug #545787.
2009-05-12 09:02:45 +02:00
Sebastian Dröge
99341f710c docs: Add new functions to the docs 2009-05-12 09:02:44 +02:00
Tim-Philipp Müller
222c560730 docs: small update to release docs 2009-05-12 01:30:13 +01:00
Tim-Philipp Müller
0b285bfa40 tags: add a tag for the container format
API: add GST_TAG_CONTAINER_FORMAT
2009-05-11 23:44:19 +01:00
Wim Taymans
d2c5ea9a40 TaskPool: remove _set_func()
Remove the static function set on the TaskPool before _prepare() is called and
allow for assigning a function to a Task when we _push().
Update the examples
2009-05-12 00:27:38 +02:00
Wim Taymans
02250179d9 GstTask: add methods for configuring the pool
Add getter and setter for configuring the GstTaskPool to use for a GstTask.
2009-05-12 00:26:58 +02:00
Wim Taymans
4d326be6cf taskpool: fix docs, make push/join generic
Fix some more docs.
Make _push() return a generic id (this can be something else than a GThread in
some cases) and make _join() use that generic id.
2009-05-12 00:22:25 +02:00
Wim Taymans
aadac11ae3 taskpool: add new object to manage threads
Add a new object GstTaskPool to manage the streaming threads.
This will allow us to create and use custom configured threads.
2009-05-12 00:22:19 +02:00
Wim Taymans
2d8a22c1da Task: add method to set the priority
Add a method to configure a priority for the threads used by GstTask.
2009-05-12 00:08:35 +02:00
Wim Taymans
e72efeccd1 GstMessage: Add STREAM_STATUS message methods
Add methods to handle the stream_status message types.
2009-05-11 23:47:22 +02:00
Wim Taymans
9d8d9e0805 GstTask: allow setting callbacks
Allow setting thread callbacks that will allow us to control the threads used by
the task.
2009-05-11 23:19:53 +02:00
Wim Taymans
3ff09d9b51 design: more STREAM_STATUS updates
Pass the thread object in a GValue, which would allow the application to figure
out the type of the object instead of us having to explicitly code it in a
message field.
2009-05-11 23:04:48 +02:00
Wim Taymans
39aa1e0e31 design: update stream-status document some more 2009-05-11 23:04:38 +02:00
Wim Taymans
0b5f070eae design: add first version of stream-status
Add the first version of the STREAM_STATUS message design docs.
This message will be used to give applications more control over the
streaming threads.
2009-05-11 23:04:15 +02:00
Wim Taymans
c31c3f215f GstTask: unify task state functions
Add new gst_task_set_state() to change the state of the task instead of
duplicating the code in each function.

API: GstTask::gst_task_set_state()
2009-05-11 22:59:35 +02:00
Wim Taymans
54401df78c gstobject: add gst_object_ref_sink
Add the gst_object_ref_sink() method to match the glib one.

API: GstObject::gst_object_ref_sink()
2009-05-11 22:35:08 +02:00
Jan Schmidt
a3297ad3ed docs: Fix a typo in the release script 2009-05-11 21:30:13 +01:00
Jan Schmidt
88e4e53fc2 Release 0.10.23 2009-05-10 22:41:04 +01:00
Jan Schmidt
4c6c9c2d5b paramspecs: revert gst_param_spec_is_mutable() for release
Revert the gst_param_spec_is_mutable API for this release so we can
discuss it a bit further first.
2009-04-16 00:48:11 +01:00
David Schleef
1ecf114c0e Add param spec flags for when a property can be changed
Adds GST_PARAM_MUTABLE* flags to indicate in which states a
property can be changed and take effect.  Fixes #571559
2009-04-12 18:45:24 -07:00
Tim-Philipp Müller
116c8be6bf API: add FIXME and DUMPMEM log levels and convenience macros
Two new log levels to dump FIXMEs into the log and to log data
in form of a hex dump (#578114).

API: GST_CAT_FIXME_OBJECT
API: GST_CAT_MEMDUMP_OBJECT
API: GST_CAT_FIXME
API: GST_CAT_MEMDUMP
API: GST_FIXME_OBJECT
API: GST_MEMDUMP_OBJECT
API: GST_FIXME
API: GST_MEMDUMP
2009-04-08 21:32:05 +01:00
Peter Kjellerstedt
1edcca4f7c docs: Some grammar and typo corrections. 2009-03-30 10:33:51 +02:00
Thomas Vander Stichele
c2e762da86 Fix typo. 2009-03-29 14:09:23 +02:00
Stefan Kost
6a15b2b0c5 docs: add a page about building gstreamer and apps 2009-03-27 15:34:24 +02:00
Tim-Philipp Müller
c4e10b9535 API: add gst_tag_list_get_buffer{_index}
Convenience API, mostly for image tags, so people don't have to
figure out the whole GValue/GstValue thing just for this.
2009-03-26 14:21:10 +00:00
Tim-Philipp Müller
26f9f721ff API: add GST_TAG_SUBTITLE_CODEC
Yes, 'codec' isn't exactly the best word, but let's be consistent with AUDIO_CODEC
and VIDEO_CODEC (which may be 'raw' formats as well after all). Prerequisite for
bug  #576552.
2009-03-25 00:50:07 +00:00
Jan Schmidt
cf4387d1ef docs: tweak the release procedure script 2009-03-21 02:34:59 +00:00
Tim-Philipp Müller
0492ca71f5 API: add GST_QUERY_CAST
because we can, and for consistency.
2009-03-20 00:39:41 +00:00
Tim-Philipp Müller
a1549d67de gst-uninstalled: add gst-rtsp-server bits and break up overly long lines
Add some of the bits needed for an uninstalled gst-rtsp-server (so gdb works
on the examples etc.). Python bits are still missing, and we might need an
-uninstalled.pc file as well in the future. Break up very long lines to make
them easier to read and maintain. Also remove gst-plugins paths from the
old days.
2009-03-19 10:49:30 +00:00
Wim Taymans
5aeb28aabd docs: interesting idea for fast rw locks
--
2009-03-19 11:46:11 +01:00
Wim Taymans
ca33a78881 info: refactor debug colors for win32 and other
Refactor the debug line code to use as much code as possible for the win32 and
other color codings.
Update docs with new symbol.
2009-03-18 18:45:41 +01:00
Tim-Philipp Müller
17412e928c faq: remove outdated bits from indenting section 2009-03-17 19:04:37 +00:00
Edward Hervey
130592bbbb faq: fix typo in git command 2009-03-16 20:13:18 +01:00
Stefan Kost
d6807e1ae3 formatting: tabs to spaces 2009-03-10 21:13:40 +02:00
Wim Taymans
72101e3b14 docs: reword stuff about custom mainloops
Fixes #574229.
2009-03-09 16:10:37 +01:00
Tim-Philipp Müller
5fd1bf613c pwg: update for CVS-to-git migration
Fixes #573946.
2009-03-04 10:47:38 +00:00
Tim-Philipp Müller
2c4305d439 gst-uninstalled: add bits for uninstalled checkouts of gst-openmax and totem 2009-03-03 19:58:53 +00:00
Sebastian Dröge
3c6448c64e API: Add gst_util_array_binary_search() for binary searchs on a sorted array
This will be mostly useful in all elements that have some kind of internal
seek/index table. Currently almost all of them (or even all of them)
are using a linear search although the used array is already sorted,
wasting some CPU time without good reason.

Fixes bug #573623.
2009-03-02 16:17:45 +01:00
Wim Taymans
013f4a58d5 design: update the framestep draft
Update the docs a little.
Add property to allow incremental stepping so that we can reduce excessive
queueing.
2009-02-27 12:36:54 +01:00
Wim Taymans
76e4fca773 Remove undeclared symbols from docs
Remove some undeclared symbols from the docs.
2009-02-24 11:40:14 +01:00
Alessandro Decina
d3940f520b GstPad: Add gst_pad_set_blocked_async_full
This allows connecting a GDestroyNotify for when the callback is removed/replaced.
Partially fixes #514717
2009-02-22 20:01:05 +01:00
Jan Schmidt
9192c7f9a5 Use shave (http://git.lespiau.name/cgit/shave/) to simplify build output 2009-02-22 16:09:42 +00:00
Tim-Philipp Müller
acb98b0938 docs: fix constants for G_LITTLE_ENDIAN and G_BIG_ENDIAN
We got the constants for G_LITTLE_ENDIAN and G_BIG_ENDIAN the wrong way around in some docs (fixes: #572392). Also mention
G_BYTE_ORDER in the audio types section.
2009-02-19 11:18:07 +00:00
Wim Taymans
4b986a4a94 Add message to request a state change
Add a GST_MESSAGE_REQUEST_STATE that can be posted by element when they would
like to have the application change the state of the pipeline. the primary use
case is to pause the pipeline when an audio mixer is mixing a higher priority
stream but it can also be used for other purposes.

Add some docs and a unit test.

Implement the REQUEST_STATE message in gst-launch.

API: gst_message_new_request_state()
API: gst_message_parse_request_state()
API: GST_MESSAGE_REQUEST_STATE
2009-02-18 15:31:55 +01:00
Tim-Philipp Müller
1c716ae407 FAQ: update for git and miscellaneous small fixes and additions
Replace all mentions of CVS with git. Add link to gst-uninstalled script in cgit and to SubmittingPatches page in wiki. Fix some typos. Update indenting rules to what we actually use (#571646).
2009-02-14 13:35:48 +00:00
Sebastian Dröge
e74460824f taglist: API: Add HOMEPAGE tag
This tag will list a homepage for the media,
i.e. the artist's or movie's homepage.

This is different to GST_TAG_LOCATION as the latter
lists the original location of the media.

Fixes bug #571227.
2009-02-12 10:42:47 +01:00
Jonas Holmberg
abffdb2ac3 Implement the systemclock with gstpoll
Add a property to select the clock type, currently REALTIME and MONOTONIC when
posix timers are available.

Implement the systemclock with GstPoll instead of GCond. This allows us to
schedule timeouts with nanosecond precission on newer kernels and with ppoll
support. It's also resilient to changes to the systemclock because of NTP or
similar.
2009-02-03 18:04:46 +01:00
Wim Taymans
5cfb02af4a GstPoll: add methods to use gstpoll for timeouts
Add a special timer mode in GstPoll that makes it only use the control socket
with a timeout to schedule timeouts. Also add a pair of methods to wakeup the
timeout thread.
API: GstPoll::gst_poll_new_timer()
API: GstPoll::gst_poll_write_control()
API: GstPoll::gst_poll_read_control()
2009-02-03 17:49:02 +01:00
Jan Schmidt
37a37d0b4d repo: Rearrange gitignores in docs subdir
tmpl directories are removed by make clean, which deletes the
.gitignore. Use a .gitignore higher up to ignore the tmpl dirs instead.
2009-01-31 21:35:23 +00:00
Stefan Kost
3595d59397 Add releaseinfo with online url. 2009-01-30 22:18:56 +02:00
Jan Schmidt
dbc64b5e6b Remove gitignore in docs/gst/tmpl.
This gitignore file seems to get deleted by the build, and doesn't
seem to be doing anything useful anyway.
2009-01-30 16:36:12 +00:00
Tim-Philipp Müller
9f496df370 docs: don't use ERROR_CFLAGS when building $docmodule-scan.c
We don't want to use -Wall -Werror and friends when building the gtk-doc-generated
$docmodule-scan.c, since we can't easily fix stuff if a certain gtk-doc/compiler
combination breaks the build. Fixes build on ubuntu intrepid.
2009-01-27 18:12:35 +00:00
Thijs Vermeir
b51df5f3a8 Fix typo 2009-01-24 14:37:14 +01:00
Jan Schmidt
e89ce19497 Update a bunch of gitignores to clean up my git status output 2009-01-23 16:08:40 +00:00
Wim Taymans
95688d643b Add Doc for new typefind method. 2009-01-22 11:54:41 +01:00
Jan Schmidt
e9a393398e Release 0.10.22
Original commit message from CVS:
Release 0.10.22
2009-01-19 22:58:59 +00:00
Tim-Philipp Müller
2ae03ba72f Add API for making a GStreamer plugin 'dependent' on external files, directories or environment variables, so that GS...
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt::
* gst/gst_private.h: (GstPluginDep), (_GstPluginPrivate):
* gst/gstplugin.c: (gst_plugin_init), (gst_plugin_finalize),
(gst_plugin_class_init), (gst_plugin_list_free),
(gst_plugin_ext_dep_get_env_vars_hash),
(_priv_plugin_deps_env_vars_changed),
(gst_plugin_ext_dep_extract_env_vars_paths),
(gst_plugin_ext_dep_get_hash_from_stat_entry),
(gst_plugin_ext_dep_direntry_matches),
(gst_plugin_ext_dep_scan_dir_and_match_names),
(gst_plugin_ext_dep_scan_path_with_filenames),
(gst_plugin_ext_dep_get_stat_hash),
(_priv_plugin_deps_files_changed), (gst_plugin_ext_dep_free),
(gst_plugin_ext_dep_strv_equal), (gst_plugin_ext_dep_equals),
(gst_plugin_add_dependency), (gst_plugin_add_dependency_simple):
* gst/gstplugin.h: (GstPluginPrivate), (GstPluginFlags),
(GST_PLUGIN_DEPENDENCY_FLAG_NONE),
(GST_PLUGIN_DEPENDENCY_FLAG_RECURSE),
(GST_PLUGIN_DEPENDENCY_FLAG_PATHS_ARE_DEFAULT_ONLY),
(GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_SUFFIX),
(GstPluginDependencyFlags), (GstPluginFilter):
* gst/gstregistry.c: (gst_registry_scan_path_level):
* gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
(gst_registry_binary_save_plugin_dep),
(gst_registry_binary_save_plugin),
(gst_registry_binary_load_feature),
(gst_registry_binary_load_plugin_dep_strv),
(gst_registry_binary_load_plugin_dep),
(gst_registry_binary_load_plugin):
* gst/gstregistrybinary.h: (GST_MAGIC_BINARY_VERSION_STR),
(GstBinaryPluginElement), (_GstBinaryDep), (GstBinaryDep):
* gst/gstregistryxml.c: (gst_registry_xml_save_plugin):
Add API for making a GStreamer plugin 'dependent' on external files,
directories or environment variables, so that GStreamer knows when
it needs to re-load GStreamer plugins that wrap other plugin systems.
Fixes bug #350477.
API: add gst_plugin_add_dependency()
API: add gst_plugin_add_dependency_simple()
2009-01-06 17:58:59 +00:00
Tim-Philipp Müller
15e2bf5214 docs/faq/gst-uninstalled: Add libgstapp-0.10 from -base to search path and remove the old lib from -bad from the sear...
Original commit message from CVS:
* docs/faq/gst-uninstalled:
Add libgstapp-0.10 from -base to search path and remove the old
lib from -bad from the search path.
2009-01-06 13:00:11 +00:00
Sebastian Dröge
9b65eb6838 API: Add URI query type. This is useful to query the URI of a sink/source element and can be used by demuxers that ne...
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstquark.c:
* gst/gstquark.h:
* gst/gstquery.c: (gst_query_new_uri), (gst_query_set_uri),
(gst_query_parse_uri):
* gst/gstquery.h:
API: Add URI query type. This is useful to query the URI
of a sink/source element and can be used by demuxers that
need to get data from other files.
This query should go upstream by default.
Fixes bug #562949.
* plugins/elements/gstfdsink.c: (gst_fd_sink_query):
* plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
(gst_fd_src_query):
* plugins/elements/gstfilesink.c: (gst_file_sink_query):
* plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
(gst_file_src_query):
Implement URI query.
2008-12-20 17:33:44 +00:00
Wim Taymans
2877f7de08 docs/faq/general.xml: Update the faq.
Original commit message from CVS:
* docs/faq/general.xml:
Update the faq.
2008-12-16 21:33:57 +00:00
Stefan Kost
0961f05009 Rename api added in previous commit and add since tag to docs.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gsttagsetter.c:
* gst/gsttagsetter.h:
Rename api added in previous commit and add since tag to docs.
API: gst_tag_setter_reset_tags()
2008-12-16 15:51:52 +00:00
Stefan Kost
2e25b024cc Add function to reset tagsetter for element reuse.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gsttagsetter.c:
* gst/gsttagsetter.h:
Add function to reset tagsetter for element reuse.
API: gst_tag_setter_flush()
2008-12-16 14:05:40 +00:00
Wim Taymans
85c0fc3260 docs/design/part-TODO.txt: Remove the seqnum entry that we implemented in 0.10 already.
Original commit message from CVS:
* docs/design/part-TODO.txt:
Remove the seqnum entry that we implemented in 0.10 already.
Add entry about removing the format return value for queries.
2008-12-15 15:27:06 +00:00
Wim Taymans
c311f2153a Add method to recalculate and redistribute the latency on a bin.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstbin.c: (gst_bin_recalculate_latency),
(gst_bin_change_state_func):
* gst/gstbin.h:
Add method to recalculate and redistribute the latency on a bin.
API: gst_bin_recalculate_latency().
2008-11-18 09:58:33 +00:00
Wim Taymans
2488c97ebd docs/random/wtay/poll-timeout: Small tweaks.
Original commit message from CVS:
* docs/random/wtay/poll-timeout:
Small tweaks.
2008-11-13 18:05:40 +00:00
Wim Taymans
162b2a6a3c docs/random/wtay/poll-timeout: Quick braindump for a possible (not totally verified) atomic case.
Original commit message from CVS:
* docs/random/wtay/poll-timeout:
Quick braindump for a possible (not totally verified) atomic case.
2008-11-12 12:45:46 +00:00
Wim Taymans
6f621b03a8 docs/random/wtay/poll-timeout: Some pseudo code for how we could implement clock timeouts with GstPoll.
Original commit message from CVS:
* docs/random/wtay/poll-timeout:
Some pseudo code for how we could implement clock timeouts with GstPoll.
2008-11-11 14:50:24 +00:00
Wim Taymans
773c1e4c1d docs/design/part-TODO.txt: Mumble something about removing GstXML.
Original commit message from CVS:
* docs/design/part-TODO.txt:
Mumble something about removing GstXML.
2008-11-05 11:17:24 +00:00
Wim Taymans
5605bbc5d5 docs/design/part-TODO.txt: Refer to the framestepping document.
Original commit message from CVS:
* docs/design/part-TODO.txt:
Refer to the framestepping document.
2008-11-04 16:10:04 +00:00
Andy Wingo
5f5fbbdd7d Add sequence numbers to events and messages. See #559250.
Original commit message from CVS:
2008-11-04  Andy Wingo  <wingo@pobox.com>

Add sequence numbers to events and messages. See #559250.

* gst/gstutils.c (gst_util_seqnum_next, gst_util_seqnum_compare):
New functions.

* gst/gstevent.h:
* gst/gstevent.c (_gst_event_copy, gst_event_new): Initialize new
events with a new sequence number, and copy it when copying.
(gst_event_get_seqnum, gst_event_set_seqnum): Accessors for an
event's sequence number.

* gst/gstmessage.h:
* gst/gstmessage.c (_gst_message_copy, gst_message_new_custom):
(gst_event_get_seqnum, gst_event_set_seqnum): As with events, so
with messages.

* docs/gst/gstreamer-sections.txt: Add new functions to the docs.
2008-11-04 12:22:53 +00:00
Wim Taymans
c6cc3bbca8 docs/manual/: Some Application Development Manual fixes thanks to
Original commit message from CVS:
* docs/manual/advanced-position.xml:
* docs/manual/basics-bins.xml:
* docs/manual/basics-bus.xml:
* docs/manual/basics-pads.xml:
* docs/manual/intro-gstreamer.xml:
* docs/manual/intro-preface.xml:
Some Application Development Manual fixes thanks to
Andrew Feren. Fixes #558459.
2008-11-04 11:55:08 +00:00
Stefan Kost
7407326abb docs/: Change to xinclude based build - its faster and easier to maintain.
Original commit message from CVS:
* docs/Makefile.am:
* docs/gst/gstreamer-docs.sgml:
* docs/gst/gstreamer-sections.txt:
* docs/gst/running.xml:
* docs/libs/gstreamer-libs-docs.sgml:
Change to xinclude based build - its faster and easier to maintain.
2008-10-30 15:29:51 +00:00
Sebastian Dröge
5644be89d7 API: Move float endianness conversion macros from libgstfloatcast to core as it's useful in general, even in core. Fi...
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstutils.h:
API: Move float endianness conversion macros from libgstfloatcast
to core as it's useful in general, even in core. Fixes bug #555196.
This adds GDOUBLE_FROM_BE, GDOUBLE_FROM_LE, GDOUBLE_TO_BE,
GDOUBLE_TO_LE, GDOUBLE_SWAP_LE_BE, GFLOAT_FROM_BE, GFLOAT_FROM_LE,
GFLOAT_TO_BE, GFLOAT_TO_LE, GFLOAT_SWAP_LE_BE.
Also add GST_READ_ and GST_WRITE_ macros for floats and doubles:
GST_READ_FLOAT_LE, GST_READ_FLOAT_BE, GST_READ_DOUBLE_LE,
GST_READ_DOUBLE_BE, GST_WRITE_FLOAT_LE, GST_WRITE_FLOAT_BE,
GST_WRITE_DOUBLE_LE, GST_WRITE_DOUBLE_BE.
2008-10-23 07:09:21 +00:00
Sebastian Dröge
61ee0f414a API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data to get a pointer to the data at the current position ...
Original commit message from CVS:
* docs/libs/gstreamer-libs-sections.txt:
* libs/gst/base/gstbytereader.c: (gst_byte_reader_get_data),
(gst_byte_reader_peek_data):
* libs/gst/base/gstbytereader.h:
* win32/common/libgstbase.def:
API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data
to get a pointer to the data at the current position and have
a guaranteed size.
2008-10-22 14:47:04 +00:00
Wim Taymans
fe07568997 Add method to commit the state in subclasses.
Original commit message from CVS:
* docs/libs/gstreamer-libs-sections.txt:
* libs/gst/base/gstbasesink.c: (gst_base_sink_do_preroll),
(gst_base_sink_flush_start), (gst_base_sink_flush_stop),
(gst_base_sink_event), (gst_base_sink_perform_seek),
(gst_base_sink_loop), (gst_base_sink_pad_activate_pull),
(gst_base_sink_send_event), (gst_base_sink_change_state):
* libs/gst/base/gstbasesink.h:
Add method to commit the state in subclasses.
Refactor the flush_start and flush_stop code because we need it for
flushing while seeking too.
Implement the beginnings of seeking in pull mode.
Use the segment last_stop field for the pulling offset.
Fix the pause method in pull mode.
Configure the segment to BYTES for pull mode.
API: GstBaseSink::gst_base_sink_do_preroll()
2008-10-16 14:09:18 +00:00
Wim Taymans
97ec47cabb docs/design/part-TODO.txt: Remove item from the todo list because it was fixed with the latency state change rewrites.
Original commit message from CVS:
* docs/design/part-TODO.txt:
Remove item from the todo list because it was fixed with the latency
state change rewrites.
* docs/design/part-seeking.txt:
* docs/design/part-segments.txt:
Update some docs.
* gst/gstevent.c: (gst_event_new_new_segment_full),
(gst_event_parse_new_segment_full), (gst_event_new_buffer_size),
(gst_event_parse_buffer_size), (gst_event_new_qos),
(gst_event_parse_qos), (gst_event_new_seek),
(gst_event_parse_seek), (gst_event_new_latency),
(gst_event_parse_latency):
Use quarks to construct and parse events.
* gst/gstquark.c: (_priv_gst_quarks_initialize):
* gst/gstquark.h:
Add some more quarks to the table.
Emit a warning when the quark tables are not in sync.
* tests/check/gst/gstbus.c: (GST_START_TEST):
Add an assert.
2008-10-13 17:19:25 +00:00
Wim Taymans
a739ae387d docs/design/part-negotiation.txt: Update the docs some more.
Original commit message from CVS:
* docs/design/part-negotiation.txt:
Update the docs some more.
* libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
If we pull a buffer with non-trivial caps, suggest those caps with the
max probability.
2008-10-10 15:12:11 +00:00
Edward Hervey
6bb3d02305 docs/design/part-TODO.txt: Add another limitation of pad-blocking with segment seeks not pushing
Original commit message from CVS:
* docs/design/part-TODO.txt:
Add another limitation of pad-blocking with segment seeks not pushing
EOS events.
2008-10-10 14:31:03 +00:00
Wim Taymans
b3403511ea docs/design/part-negotiation.txt: Small doc update.
Original commit message from CVS:
* docs/design/part-negotiation.txt:
Small doc update.
* docs/libs/gstreamer-libs-sections.txt:
* libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
(gst_base_sink_pad_getcaps), (gst_base_sink_pad_setcaps),
(gst_base_sink_init), (gst_base_sink_set_blocksize),
(gst_base_sink_get_blocksize), (gst_base_sink_set_property),
(gst_base_sink_get_property), (gst_base_sink_needs_preroll),
(gst_base_sink_loop), (gst_base_sink_pad_activate),
(gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
(gst_base_sink_change_state):
* libs/gst/base/gstbasesink.h:
Add blocksize property and methods to control the amount of data
to pull.
Negotiate first before activating upstream in pull mode so that they can
negotiate themselves.
When we operate in pull mode, we only accept the caps that we
negotiated.
Make the sink go ASYNC to PAUSED, like all other sinks.
API: GstBaseSink::gst_base_sink_set_blocksize()
API: GstBaseSink::gst_base_sink_get_blocksize()
API: GstBaseSink::blocksize
* libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
(gst_base_src_set_live), (gst_base_src_is_live),
(gst_base_src_set_format), (gst_base_src_query_latency),
(gst_base_src_set_blocksize), (gst_base_src_get_blocksize),
(gst_base_src_set_do_timestamp), (gst_base_src_get_do_timestamp),
(gst_base_src_set_property), (gst_base_src_get_property):
* libs/gst/base/gstbasesrc.h:
Add typechecking in public API functions.
Add methods to control the blocksize in subclasses.
API: GstBaseSrc::gst_base_src_set_blocksize()
API: GstBaseSrc::gst_base_src_get_blocksize()
2008-10-10 10:01:36 +00:00
Andy Wingo
996961603e docs/gst/gstreamer-sections.txt: Placate doc pendants.
Original commit message from CVS:
2008-10-08  Andy Wingo  <wingo@pobox.com>

* docs/gst/gstreamer-sections.txt: Placate doc pendants.
2008-10-08 11:11:25 +00:00
Sebastian Dröge
22dd04f7e0 Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT* as it's too easy to break the ISO C strict al...
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstutils.h:
Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT*
as it's too easy to break the ISO C strict aliasing rules with simple
casts to the corresponding type and this would introduce hard to debug
bugs. Fixes bug #545714.
API: Add GST_READ_UINT24_(LE|BE) and GST_WRITE_UINT24_(LE|BE).
2008-10-07 12:00:49 +00:00
Thijs Vermeir
a6c9220c57 docs/gst/gstreamer-sections.txt: Fix documentation
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
Fix documentation
2008-10-06 21:52:57 +00:00
Wim Taymans
cb98130213 Implement STRUCTURE_CHANGED messages. These messages will be used to signal the parent bin of link/unlink operations ...
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstmessage.c: (gst_message_new_structure_change),
(gst_message_parse_structure_change):
* gst/gstmessage.h:
Implement STRUCTURE_CHANGED messages. These messages will be used to
signal the parent bin of link/unlink operations that could require a
resync when doing a state change. See ##510354.
API: gst_message_new_structure_change()
API: gst_message_parse_structure_change()
2008-10-06 15:31:49 +00:00
Sebastian Dröge
b377c58e43 Add bit reader and byte reader classes, including documentation and an extensive unit test suite. Fixes bug #553554.
Original commit message from CVS:
* docs/libs/gstreamer-libs-docs.sgml:
* docs/libs/gstreamer-libs-sections.txt:
* libs/gst/base/Makefile.am:
* libs/gst/base/gstbitreader.c: (gst_bit_reader_new),
(gst_bit_reader_new_from_buffer), (gst_bit_reader_free),
(gst_bit_reader_init), (gst_bit_reader_init_from_buffer),
(gst_bit_reader_set_pos), (gst_bit_reader_get_pos),
(gst_bit_reader_get_remaining), (gst_bit_reader_skip),
(gst_bit_reader_skip_to_byte):
* libs/gst/base/gstbitreader.h:
* libs/gst/base/gstbytereader.c: (GDOUBLE_SWAP_LE_BE),
(GFLOAT_SWAP_LE_BE), (gst_byte_reader_new),
(gst_byte_reader_new_from_buffer), (gst_byte_reader_free),
(gst_byte_reader_init), (gst_byte_reader_init_from_buffer),
(gst_byte_reader_set_pos), (gst_byte_reader_get_pos),
(gst_byte_reader_get_remaining), (gst_byte_reader_skip),
(gst_byte_reader_get_uint8), (gst_byte_reader_get_int8),
(gst_byte_reader_peek_uint8), (gst_byte_reader_peek_int8),
(gst_byte_reader_get_uint24_le), (gst_byte_reader_get_uint24_be),
(gst_byte_reader_get_int24_le), (gst_byte_reader_get_int24_be),
(gst_byte_reader_peek_uint24_le), (gst_byte_reader_peek_uint24_be),
(gst_byte_reader_peek_int24_le), (gst_byte_reader_peek_int24_be):
* libs/gst/base/gstbytereader.h:
* tests/check/Makefile.am:
* tests/check/libs/bitreader.c: (GST_START_TEST),
(gst_bit_reader_suite):
* tests/check/libs/bytereader.c: (GST_START_TEST),
(gst_byte_reader_suite):
Add bit reader and byte reader classes, including documentation
and an extensive unit test suite. Fixes bug #553554.
2008-10-06 12:41:53 +00:00
Stefan Kost
a76176f9e9 docs/pwg/advanced-request.xml: Fix 0.8 api usage in example. Fixes #554561
Original commit message from CVS:
* docs/pwg/advanced-request.xml:
Fix 0.8 api usage in example. Fixes #554561
* docs/pwg/appendix-porting.xml:
Change 0.9 to 0.10 here.
2008-10-06 07:30:57 +00:00
Stefan Kost
62f71ce302 docs/manual/basics-data.xml: Change "event-event interaction" to "element-element interaction".
Original commit message from CVS:
* docs/manual/basics-data.xml:
Change "event-event interaction" to "element-element interaction".
Fixes #552448. Also fix sample code for seeking and do more 0.8->0.10
updates.
2008-10-06 07:13:02 +00:00
Jan Schmidt
3419fac41b Release 0.10.21
Original commit message from CVS:
Release 0.10.21
2008-10-02 23:59:53 +00:00
Tim-Philipp Müller
e769a7a0e4 docs/manual/intro-motivation.xml: Remove some bits that no longer apply, update others (#551642).
Original commit message from CVS:
* docs/manual/intro-motivation.xml::
Remove some bits that no longer apply, update others (#551642).
2008-09-11 16:56:48 +00:00
Stefan Kost
ce1f50ae11 Add new tags for geo location and clarify purpose of existing location tag. Fixes #481169
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gsttaglist.c:
* gst/gsttaglist.h:
Add new tags for geo location and clarify purpose of existing location
tag. Fixes #481169
2008-09-01 13:35:32 +00:00
Olivier Crete
68037404b8 Add threadsafe replacement functions for getting internal links of an element. Deprecate the old internal links funct...
Original commit message from CVS:
Based on patch by: Olivier Crete <tester at tester dot ca>
* docs/gst/gstreamer-sections.txt:
* win32/common/libgstreamer.def:
* gst/gstpad.c: (gst_pad_init),
(gst_pad_set_iterate_internal_links_function),
(int_link_iter_data_free), (iterate_pad),
(gst_pad_iterate_internal_links_default),
(gst_pad_iterate_internal_links), (gst_pad_get_internal_links):
* gst/gstpad.h:
Add threadsafe replacement functions for getting internal links of an
element. Deprecate the old internal links functions.
API:GstPad::gst_pad_set_iterate_internal_links_function()
API:GstPad::GstPadIterIntLinkFunction
API:GstPad::gst_pad_iterate_internal_links()
API:GstPad::gst_pad_iterate_internal_links_default()
* gst/gstghostpad.c: (gst_proxy_pad_do_iterate_internal_links),
(gst_proxy_pad_init):
Implement threadsafe internal links.
* tests/check/elements/tee.c: (GST_START_TEST), (tee_suite):
Unit test for internal links on tee. See #549504.
2008-09-01 10:42:04 +00:00
Wim Taymans
8337ce91aa Implement method for reconfiguring basetransform.
Original commit message from CVS:
* docs/libs/gstreamer-libs-sections.txt:
* libs/gst/base/gstbasetransform.c:
(gst_base_transform_handle_buffer), (gst_base_transform_getrange),
(gst_base_transform_chain), (gst_base_transform_suggest),
(gst_base_transform_reconfigure):
* libs/gst/base/gstbasetransform.h:
Implement method for reconfiguring basetransform.
API: GstBaseTransform::gst_base_transform_reconfigure()
2008-08-20 10:52:09 +00:00
Luc Pionchon
bbe50ec6c1 docs/manual/: Add one more image showing different times together with a describing paragraph. Fixes #547729.
Original commit message from CVS:
patch by: Luc Pionchon <luc.pionchon@nokia.com>
* docs/manual/advanced-clocks.xml:
* docs/manual/clocks.png:
* docs/manual/diagrams-clocks.svg:
Add one more image showing different times together with a describing
paragraph. Fixes #547729.
2008-08-14 14:26:20 +00:00
Stefan Kost
bdbd0bfac4 Document preset-iface vmethods.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstpreset.h:
Document preset-iface vmethods.
2008-08-11 08:06:20 +00:00
Stefan Kost
b85a3e4afc docs/manual/advanced-interfaces.xml: Turn thoughts about HAL into a note-tag. Remove mentioning that is only used to ...
Original commit message from CVS:
* docs/manual/advanced-interfaces.xml:
Turn thoughts about HAL into a note-tag. Remove mentioning that is
only used to discover devices.
2008-08-11 07:07:45 +00:00
Wim Taymans
30f8603645 docs/libs/gstreamer-libs-sections.txt: Add new function:
Original commit message from CVS:
* docs/libs/gstreamer-libs-sections.txt:
Add new function:
API: GstBaseTransform::gst_base_transform_suggest()
* libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize),
(gst_base_transform_init), (gst_base_transform_transform_caps),
(gst_base_transform_transform_size),
(gst_base_transform_configure_caps),
(gst_base_transform_can_transform),
(gst_base_transform_find_transform), (gst_base_transform_setcaps),
(gst_base_transform_prepare_output_buffer),
(gst_base_transform_buffer_alloc),
(gst_base_transform_handle_buffer), (gst_base_transform_getrange),
(gst_base_transform_chain), (gst_base_transform_activate),
(gst_base_transform_set_passthrough),
(gst_base_transform_is_passthrough),
(gst_base_transform_set_in_place),
(gst_base_transform_is_in_place), (gst_base_transform_update_qos),
(gst_base_transform_set_qos_enabled),
(gst_base_transform_is_qos_enabled),
(gst_base_transform_set_gap_aware), (gst_base_transform_suggest),
(gst_base_transform_reconfigure):
* libs/gst/base/gstbasetransform.h:
Rewrite of basetransform to perform negotiation outside of the
buffer_alloc functions.  Fixes #545853.
* tests/check/libs/transform1.c: (GST_START_TEST),
(buffer_alloc_ct2):
Update unit test.
2008-08-05 11:11:00 +00:00
Stefan Kost
df29b0ed39 Revert 'accidential' change of the configure option removal. We still need to generate the types file in configure --...
Original commit message from CVS:
* configure.ac:
* docs/gst/gstreamer.types:
Revert 'accidential' change of the configure option removal. We still
need to generate the types file in configure --disable-load-save.
2008-08-01 11:57:40 +00:00
Stefan Kost
6cf55f54e3 Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gsttaglist.h:
Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
2008-08-01 11:34:06 +00:00
Sebastian Dröge
4bfb1fe70c Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
Original commit message from CVS:
* configure.ac:
* docs/gst/gstreamer-sections.txt:
* docs/gst/gstreamer.types:
* docs/gst/gstreamer.types.in:
* gst/Makefile.am:
* gst/gst.c:
* gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func):
* gst/gstconfig.h.in:
* gst/gstelement.c: (gst_element_get_index):
* gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
(gst_registry_binary_load_feature),
(gst_registry_binary_read_cache):
* gst/gstregistryxml.c: (load_feature),
(gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
* plugins/Makefile.am:
* tools/gst-indent:
* tools/gst-inspect.c: (print_index_info), (print_element_list),
(print_plugin_features), (print_element_features):
* tools/gst-xmlinspect.c: (print_event_masks),
(print_element_info):
* win32/common/gstconfig.h:
Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
Disabling the indexers and URI handler code will only reduce the
required amount of memory by a very small amount but on the other hand
requires much more maintaince work. Apart from that many places of
code are broken when disabling them.
Disabling the enum types doesn't reduce the required amount of memory
by more than a few bytes and makes it hard to fix bugs like #539772,
i.e. use the enums as GObject properties.
2008-07-31 15:20:32 +00:00
Wim Taymans
b491e19e0e docs/design/part-TODO.txt: Add some thoughts and problems with upstream renegotiation.
Original commit message from CVS:
* docs/design/part-TODO.txt:
Add some thoughts and problems with upstream renegotiation.
2008-07-31 13:06:56 +00:00
Wim Taymans
d022bc7a12 docs/design/part-element-transform.txt: Update docs.
Original commit message from CVS:
* docs/design/part-element-transform.txt:
Update docs.
2008-07-31 08:39:15 +00:00
Stefan Kost
e80386183e docs/gst/gstreamer-sections.txt: Cleanup section-file.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
Cleanup section-file.
2008-07-29 13:30:02 +00:00
Luc Pionchon
4f90d4dfe4 docs/manual/: Replace one diagram with two separate ones and updates others.
Original commit message from CVS:
patch by: Luc Pionchon <luc.pionchon@nokia.com>
* docs/manual/advanced-threads.xml:
* docs/manual/diagrams-pipelines.svg:
* docs/manual/hello-world.png:
* docs/manual/linked-elements.png:
* docs/manual/mime-world.png:
* docs/manual/queue.png:
* docs/manual/thread-buffering.png:
* docs/manual/thread-synchronizing.png:
Replace one diagram with two separate ones and updates others.
Fixes #542401.
2008-07-26 12:00:36 +00:00
Rene Stadler
4abe96918a docs/manual/advanced-autoplugging.xml: Add fakesink to example code to close the pipeline graph. This prevents the p...
Original commit message from CVS:
* docs/manual/advanced-autoplugging.xml: Add fakesink to example
code to close the pipeline graph.  This prevents the program from
printing internal data flow errors.
2008-07-24 12:36:20 +00:00
Sebastian Dröge
51a07413d0 docs/manual/basics-bus.xml: Correct typo. Fixes bug #544320.
Original commit message from CVS:
* docs/manual/basics-bus.xml:
Correct typo. Fixes bug #544320.
2008-07-23 15:44:04 +00:00
tmatth
c12e6b2e20 docs/pwg/building-testapp.xml: Don't use an undeclared variable in the example program.
Original commit message from CVS:
Patch by: tmatth <le dot businessman at gmail dot com>
* docs/pwg/building-testapp.xml:
Don't use an undeclared variable in the example program.
Fixes bug #542573.
2008-07-12 17:43:15 +00:00
Stefan Kost
2e8d4a491d docs/design/: Fix two typos.
Original commit message from CVS:
* docs/design/draft-framestep.txt:
* docs/design/part-negotiation.txt:
Fix two typos.
2008-06-29 15:00:26 +00:00
Luc Pionchon
4f92facc79 docs/manual/: Add scale factor for pdf output.
Original commit message from CVS:
patch by: Luc Pionchon  <luc.pionchon@nokia.com>
* docs/manual/advanced-autoplugging.xml:
* docs/manual/advanced-threads.xml:
* docs/manual/basics-bins.xml:
* docs/manual/basics-elements.xml:
* docs/manual/basics-helloworld.xml:
* docs/manual/basics-pads.xml:
Add scale factor for pdf output.
* docs/manual/intro-basics.xml:
Switched sections "pads" and "bins" and added a pipeline diagram.
* docs/manual/intro-gstreamer.xml:
Added more info on gstreamer.
* docs/manual/intro-motivation.xml:
Commented out the whole section "current problem", which sounds
historical and somehow osolete; it could be turned in a positive
way and reused to improve the design principles.
* docs/manual/intro-preface.xml:
- Update URLs to library.gnome.org.
- Do not mention GTK+ in preliminary reading (irrelevant).
- Mention Plugin Writer's Manual and further reading only in the
previous section.
- Added a list of most relevant GObject/glib topics.
* docs/manual/Makefile.am:
* docs/manual/bin-element-ghost.fig:
* docs/manual/bin-element-ghost.png:
* docs/manual/bin-element-noghost.fig:
* docs/manual/bin-element-noghost.png:
* docs/manual/bin-element.fig:
* docs/manual/bin-element.png:
* docs/manual/filter-element-multi.fig:
* docs/manual/filter-element-multi.png:
* docs/manual/filter-element.fig:
* docs/manual/filter-element.png:
* docs/manual/gstreamer-overview.png:
* docs/manual/hello-world.fig:
* docs/manual/hello-world.png:
* docs/manual/linked-elements.fig:
* docs/manual/linked-elements.png:
* docs/manual/mime-world.fig:
* docs/manual/mime-world.png:
* docs/manual/queue.fig:
* docs/manual/queue.png:
* docs/manual/simple-player.png:
* docs/manual/sink-element.fig:
* docs/manual/sink-element.png:
* docs/manual/src-element.fig:
* docs/manual/src-element.png:
* docs/manual/diagrams-general.svg:
* docs/manual/diagrams-pipelines.svg:
Removed .fig, added .png counterpart.
Fixes: #539137
2008-06-27 07:03:05 +00:00
Wim Taymans
f99119cff6 docs/design/part-states.txt: Fix device open/close docs.
Original commit message from CVS:
* docs/design/part-states.txt:
Fix device open/close docs.
2008-06-25 14:49:08 +00:00
Luc Pionchon
498cda94b5 docs/manual/manual.xml: - Reorganised the previous "introduction" bundle into Foreword,
Original commit message from CVS:
patch by: Luc Pionchon  <luc.pionchon@nokia.com>
* docs/manual/manual.xml:
- Reorganised the previous "introduction" bundle into Foreword,
Introduction, and About GStreamer. The two first are <preface>
docbook elements. The later is the first part of the book.
- added intro-gstreamer.xml (content partially from
intro-preface.xml)
- moved appendix-win32.xml into appendix-integration.xml
* docs/manual/intro-preface.xml: gstreamer section moved...
* docs/manual/intro-gstreamer.xml: ...here. new file.
* docs/manual/appendix-win32.xml: removed file. Content moved...
* docs/manual/appendix-integration.xml: ...here.
* docs/manual/highlevel-components.xml: section about GstEditor moved...
* docs/manual/appendix-checklist.xml: ...here.
2008-06-25 14:44:52 +00:00
Luc Pionchon
4302aa48c2 docs/manual/: - Explicitely include glib.h.
Original commit message from CVS:
patch by: Luc Pionchon  <luc.pionchon@nokia.com>
* docs/manual/basics-helloworld.xml:
* docs/manual/hello-world.fig:
- Explicitely include glib.h.
- Do not use global variables.
- Use g_printerr() instead of g_print().
- Minor formating/renaming to increase readibility.
- Renamed new_pad() to on_pad_added()
- Improved explenatory comments.
- renamed ogg parser to ogg demuxer
- Use "autoaudiosink" instead of "alsasink".
Fixes: #538619
2008-06-25 14:32:53 +00:00
Stefan Kost
bc82d5536c docs/README: Document that for plgin-docs we extraxt he short-desc from the element details.
Original commit message from CVS:
* docs/README:
Document that for plgin-docs we extraxt he short-desc from the element
details.
* docs/design/part-states.txt:
Tell that devices should be closed in PAUSED -> READY.
* docs/manual/README:
Document how tests in the manual are handled.
* docs/manuals.mak:
Typo in comment.
2008-06-25 14:25:49 +00:00
Wim Taymans
23d8478698 docs/design/part-block.txt: Fix typo.
Original commit message from CVS:
* docs/design/part-block.txt:
Fix typo.
* docs/design/part-element-transform.txt:
Add notes about why transform needs to know input/output sizes.
Add some issues that need to be solved.
Add some more use cases.
* tests/check/libs/test_transform.c: (gst_test_trans_base_init),
(gst_test_trans_class_init), (result_sink_chain),
(result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
(gst_test_trans_push), (gst_test_trans_pop):
* tests/check/libs/transform1.c: (buffer_alloc_pt1),
(set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
(set_caps_1), (set_caps_ct1), (transform_ct1),
(transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
(gst_basetransform_suite):
Add suport for different pad templates and buffer-alloc.
Add more checks for caps and buffer-alloc.
Add checks for proxy buffer alloc.
Add unit test for copy transform.
2008-06-25 10:53:52 +00:00
Luc Pionchon
7dd35f98f7 docs/manual/: Typo and formatting fixes (#538594).
Original commit message from CVS:
Patch by: Luc Pionchon  <luc.pionchon@nokia.com>
* docs/manual/appendix-integration.xml:
* docs/manual/appendix-licensing.xml:
* docs/manual/basics-elements.xml:
* docs/manual/basics-helloworld.xml:
* docs/manual/basics-pads.xml:
* docs/manual/highlevel-components.xml:
* docs/manual/highlevel-xml.xml:
* docs/manual/intro-basics.xml:
* docs/manual/intro-preface.xml:
Typo and formatting fixes (#538594).
2008-06-24 19:56:51 +00:00
Thijs Vermeir
8442b73552 docs/libs/gstreamer-libs-sections.txt: Add new API to doc
Original commit message from CVS:
* docs/libs/gstreamer-libs-sections.txt:
Add new API to doc
* libs/gst/check/gstcheck.c:
* libs/gst/check/gstcheck.h:
API: gst_check_teardown_pad_by_name
2008-06-21 21:20:13 +00:00
Tim-Philipp Müller
88d605bded docs/design/Makefile.am: Dist some more design docs.
Original commit message from CVS:
* docs/design/Makefile.am:
Dist some more design docs.
* docs/random/moving-plugins:
Small addition: good plugins mustn't have functional code
within assertion macros.
2008-06-20 11:07:05 +00:00
Wim Taymans
1f1dca5365 docs/design/draft-framestep.txt: Some ideas about a framestep API
Original commit message from CVS:
* docs/design/draft-framestep.txt:
Some ideas about a framestep API
* docs/design/part-element-transform.txt:
Start design and use cases for basetransform in order to get it
fixed soon.
2008-06-20 10:32:34 +00:00
joel larsson
c8c34e8dff Add timeout property like udpsrc. Fixes #538628.
Original commit message from CVS:
Patch by: joel larsson <tilljoel at gmail dot com>
* docs/plugins/gstreamer-plugins.args:
* plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
(gst_fd_src_init), (gst_fd_src_update_fd),
(gst_fd_src_set_property), (gst_fd_src_get_property),
(gst_fd_src_create):
* plugins/elements/gstfdsrc.h:
Add timeout property like udpsrc. Fixes #538628.
Add some more docs and example pipelines.
2008-06-20 10:02:14 +00:00
Wim Taymans
6624a8de12 Add method to allow sinks to specify additional delay between the sync times and the actual rendering of the data.
Original commit message from CVS:
* docs/libs/gstreamer-libs-sections.txt:
* libs/gst/base/gstbasesink.c: (gst_base_sink_init),
(gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
(gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
(gst_base_sink_do_sync):
* libs/gst/base/gstbasesink.h:
* win32/common/libgstbase.def:
Add method to allow sinks to specify additional delay between the sync
times and the actual rendering of the data.
API: gst_base_sink_set_render_delay()
API: gst_base_sink_get_render_delay()
2008-06-20 08:54:45 +00:00
Sebastian Dröge
3ee5b33c7e API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gsttaglist.c: (_gst_tag_initialize):
* gst/gsttaglist.h:
API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
Fixes bug #538568.
2008-06-20 08:39:54 +00:00
Stefan Kost
e5c981bb7b Ignore more.
Original commit message from CVS:
* docs/plugins/tmpl/.cvsignore:
* tests/check/gst/.cvsignore:
Ignore more.
2008-06-20 08:21:48 +00:00
Jan Schmidt
778767a6b9 Release 0.10.20
Original commit message from CVS:
Release 0.10.20
2008-06-18 10:58:35 +00:00
Stefan Kost
bedb591973 configure.ac: Add DATADIR for storing presets.
Original commit message from CVS:
Patch by: Stefan Kost  <ensonic@users.sf.net>
* configure.ac:
Add DATADIR for storing presets.
* docs/gst/gstreamer-docs.sgml:
* docs/gst/gstreamer-sections.txt:
* docs/gst/gstreamer.types.in:
Add GstPreset to docs.
* gst/Makefile.am:
* gst/gst.h:
* gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
(preset_open_and_parse_header), (preset_parse_version),
(preset_merge), (preset_get_keyfile),
(gst_preset_default_get_preset_names),
(gst_preset_default_get_property_names),
(gst_preset_default_load_preset),
(gst_preset_default_save_presets_file),
(gst_preset_default_save_preset),
(gst_preset_default_rename_preset),
(gst_preset_default_delete_preset), (gst_preset_default_set_meta),
(gst_preset_default_get_meta), (gst_preset_default_randomize),
(gst_preset_default_reset), (gst_preset_get_preset_names),
(gst_preset_get_property_names), (gst_preset_load_preset),
(gst_preset_save_preset), (gst_preset_rename_preset),
(gst_preset_delete_preset), (gst_preset_set_meta),
(gst_preset_get_meta), (gst_preset_class_init),
(gst_preset_base_init), (gst_preset_get_type):
* gst/gstpreset.h:
Add GstPreset to core. Fixes #396779
* tests/check/Makefile.am:
* tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
(gst_preset_test_set_property), (gst_preset_test_class_init),
(gst_preset_test_base_init), (gst_preset_test_get_type),
(gst_preset_test_plugin_init), (GST_START_TEST),
(remove_preset_file), (test_setup), (test_teardown),
(gst_preset_suite):
Add GstPreset unit tests.
2008-05-27 15:11:35 +00:00
Tim-Philipp Müller
b05a18fcfc API: add gst_bin_find_unlinked_pad()
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gstutils.c: (element_find_unlinked_pad),
(gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
* gst/gstutils.h:
API: add gst_bin_find_unlinked_pad()
API: deprecate gst_bin_find_unconnected_pad() (#401456)
2008-05-27 10:50:49 +00:00
Tim-Philipp Müller
8acbecfd60 docs/pwg/advanced-tagging.xml: Small docs update, can't be bothered to rewrite the nonsensical examples right now.
Original commit message from CVS:
* docs/pwg/advanced-tagging.xml:
Small docs update, can't be bothered to rewrite the nonsensical
examples right now.
2008-05-25 16:13:38 +00:00
Tim-Philipp Müller
ebc08ddfb9 API: gst_parse_launch_full()
Original commit message from CVS:
* docs/gst/gstreamer-sections.txt:
* gst/gst.c: (init_post):
* gst/gst_private.h: (_GstParseContext):
* gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
(gst_parse_context_free), (gst_parse_context_get_missing_elements),
(gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
(gst_parse_launch_full):
* gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
(GstParseFlags), (GstParseContext):
* gst/gstutils.c: (gst_parse_bin_from_description),
(gst_parse_bin_from_description_full):
* gst/gstutils.h:
* gst/parse/grammar.y:
* gst/parse/types.h:
* win32/common/libgstreamer.def:
Add new gst_parse_*_full API (#528178):
API: gst_parse_launch_full()
API: gst_parse_launchv_full()
API: gst_parse_bin_from_description_full()
API: gst_parse_context_new()
API: gst_parse_context_free()
API: gst_parse_context_get_missing_elements()
2008-05-24 15:33:53 +00:00
Suresh Kumar P
f529237904 docs/faq/gst-uninstalled: Also support ffmpeg in gst-uninstalled.
Original commit message from CVS:
patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
* docs/faq/gst-uninstalled:
Also support ffmpeg in gst-uninstalled.
2008-05-23 06:50:10 +00:00
Felipe Contreras
3078614232 docs/Makefile.am: Fix installing plugin documentation when gtk-doc is disabled.
Original commit message from CVS:
* docs/Makefile.am:
Fix installing plugin documentation when gtk-doc is disabled.
2008-05-21 15:54:28 +00:00
Wim Taymans
e52bc83dd2 docs/manual/: Avoid using a bad function in the example code.
Original commit message from CVS:
* docs/manual/advanced-autoplugging.xml:
* docs/manual/basics-helloworld.xml:
* docs/manual/basics-pads.xml:
* docs/manual/highlevel-components.xml:
Avoid using a bad function in the example code.
2008-05-21 15:51:25 +00:00
Wim Taymans
b6286c0edc Expose a method that was previously used internally to synchronize against the clock because it can be useful for sub...
Original commit message from CVS:
* docs/libs/gstreamer-libs-sections.txt:
* libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
* libs/gst/base/gstbasesink.h:
Expose a method that was previously used internally to synchronize
against the clock because it can be useful for subclasses too.
GstBaseSink::gst_base_sink_wait_clock()
2008-05-19 16:36:51 +00:00