Commit graph

1306 commits

Author SHA1 Message Date
Tim-Philipp Müller
07d2dbfdfe app: add win32 .def file and only export functions we want exported
Add a .def file for win32 builds (and make check-exports).
Fix LDFLAGS in Makefile.am, so the usual export regexps are used (fixes #573165).
Make sure private marshaller functions aren't exported by prefixing them with __gst;
also rename gst_app_marshal_OBJECT__VOID to _BUFFER__VOID, make it static and add
a comment why we're not using glib-genmarshal for this one.
2009-02-25 19:50:00 +00:00
Peter Kjellerstedt
2fe8e4c1de Fixed a typo. 2009-02-25 16:25:33 +01:00
Peter Kjellerstedt
a038a8d46d rtsp, multifdsink: Unify the use of union gst_sockaddr. 2009-02-25 15:45:50 +01:00
Tim-Philipp Müller
3d88a5b985 riff: add fourcc for mpeg2-in-avi (as produced by mencoder)
Fixes: #565777
2009-02-25 11:13:01 +00:00
Edward Hervey
e57073b6f9 Riff: Add fourcc for mpeg1-in-avi (as produced by mencoder) 2009-02-25 08:05:58 +01:00
Garret D'Amore
b8af1223db mixer interface: Add flags to enhance mixer interfaces
This patch adds a few flags to the mixer and mixerctrl interface to
better support OSSv4 (and potentially other backends).

Patch By: Garret D'Amore <garrett.damore@sun.com>
Signed-Off-By: Jan Schmidt <jan.schmidt@sun.com>

API: GST_MIXER_FLAG_HAS_WHITELIST, GST_MIXER_FLAG_GROUPING,
API: GST_MIXER_TRACK_NO_RECORD, GST_MIXER_TRACK_NO_MUTE,
API: GST_MIXER_TRACK_WHITELIST
2009-02-24 17:23:58 +00:00
Jan Schmidt
94791df88d rtsp: Fix a strict aliasing warning
Fix strict aliasing warnings from casting a sockaddr_storage and
using it as a sockaddr_in6. Use a union instead.
2009-02-24 16:49:40 +00:00
Wim Taymans
bb5e2d3f56 Match WSAStartup and WSACleanup correctly
Don't randomly call WSAStartup and WSACleanup but instead call the startup when
we create a connection and cleanup when we free it again. Because the internal
datastructure is refcounted, this should not cause any refcounting leaks when
the connection is managed correctly.
Fixes #562794.
2009-02-24 12:11:00 +01:00
Wim Taymans
6e560ae5d8 Add method for handling server requests
Add a receive_request so that extensions can react to server requests.
2009-02-23 10:57:08 +01:00
Sebastian Dröge
d659e8353d tagdemux: Unref the actual buffer instead of the memory address of the buffer 2009-02-22 19:12:00 +01:00
Edward Hervey
5ce5433152 libs/video: Fix gst_video_format_new_caps* functions.
Only add a 'interlaced=True' property to caps *IF* it is interlaced, else
don't add anything.
2009-02-22 13:42:33 +01:00
Wim Taymans
15cd839f81 Improve key/value parsing
Improve header field parsing by keeping a ref to the key/value instead of
copying it into a local variable.
2009-02-20 17:26:40 +01:00
Wim Taymans
bb4310203a Add trailing \0 to message length
We always put a trailing 0 at the end of the message body. Reflect this fact in
the length of the message.
2009-02-20 12:35:53 +01:00
Wim Taymans
0ffd5e703a Don't parse headers for data messages
Don't try to parse the headers on a data message because they don't have
headers.
2009-02-20 09:52:16 +01:00
Edward Hervey
a490b3f2dd video: Fix 'Since' tags 2009-02-19 17:40:45 +01:00
Edward Hervey
c44b067817 video: Add flags for interlaced video along with convenience methods for interlaced caps.
These three flags allow all know combinations of interlaced formats. They should
only be used when the caps contain 'interlaced=True'.

Fixes #163577 (yes, it's a 4 year old bug).
2009-02-19 16:11:44 +01:00
Wim Taymans
f187ffddce Make RTSPConnection opaque and rename RTSPChannel
Make the RTSPConnection object opaque so that we can extend it in the future.

Rename GstRTSPChannel to GstRTSPWatch to avoid confusing with the RTSP channels.
2009-02-19 15:55:07 +01:00
Edward Hervey
02f9079d6b Add some more mappings for h264 in riff 2009-02-19 13:24:39 +01:00
Wim Taymans
e5d8551552 Add method to install callbacks on appsink
Based on pacth by Martin Samuelsson <martin dot samuelsson at axis dot com>
Fixes #571299.

Add gst_app_sink_set_callbacks() to install a set of callbacks. This is a more
performant alternative to connecting to the signals.

Add a unit test for appsink.

Clean up some of the appsink docs.

API: GstAppSink::gst_app_sink_set_callbacks()
2009-02-19 10:44:31 +01:00
Wim Taymans
a2f04c8f61 Add RTSP accept method
Add a method to accept a connection on a socket and create a GstRTSPConnection
for it.

API: gst_rtsp_connection_accept()
2009-02-18 18:46:35 +01:00
Wim Taymans
a6d75bd33c Add RTSP channel object for async io
Add a GstRTSPChannel object that wraps a GSource around the RTSP connection so
that the connection can be monitored from a maincontext. This allows us to
operate in ASYNC mode, which is handy when building a server.

Rework the old code to use the async code under the hood.

API: gst_rtsp_channel_new()
API: gst_rtsp_channel_unref()
API: gst_rtsp_channel_attach()
API: gst_rtsp_channel_queue_message()
2009-02-18 17:42:59 +01:00
Tim-Philipp Müller
a624df17c4 tagdemux: don't abort when downstream pulls a buffer of size 0
Pulling a 0-sized buffer is allowed, and we should handle this correctly instead of
aborting. Fixes #571009 (wma file with ID3v2 tag).
2009-02-12 09:18:20 +00:00
Tim-Philipp Müller
1fedfec220 riff: error out on nonsensical chunk sizes instead of aborting
When encountering a nonsensical chunk size such as (guint)-1, error out cleanly instead of
continuing and trying to g_memdup() 4GB of data that doesn't exist, which will either abort
in g_malloc() or crash.

Fixes #553295, crash with fuzzed AVI file.
2009-02-11 16:58:18 +00:00
Peter Kjellerstedt
430eea3016 gstrtspmessage: Minor documentation correction.
Corrected documentation about what needs to be freed after calling
gst_rtsp_message_new(), gst_rtsp_message_new_request(),
gst_rtsp_message_new_response() and gst_rtsp_message_new_data().
2009-02-10 17:37:06 +01:00
Wim Taymans
76112f9f04 RTSPRange: Add method to serialize ranges
Add gst_rtsp_range_to_string() to serialize a GstRTSPRange to a string that can
be used by a server.
API: GstRTSPRange::gst_rtsp_range_to_string()
2009-02-04 17:03:52 +01:00
Wim Taymans
4bb5722f1a GstRTSPUrl: Add some const to methods
Add const to the methods that do not modify the object.
2009-02-04 13:16:48 +01:00
Wim Taymans
ad1dea3122 Add more g_return_if_fail() calls
Check that we have a valid file descriptor before entering certain functions in
order to avoid undesirable situations.
Add some more debugging in the connect method.
2009-02-04 11:18:31 +01:00
Tim-Philipp Müller
95d6fb0501 pbutils: remove duplicate detail strings when calling the external codec installer
It doesn't make sense to ask installers for the same codec or element twice, so filter out duplicate requests before calling the external helper script and make the unit test check this works right. Fixes #567636.
2009-02-02 17:34:23 +00:00
Stefan Kost
486fe43cb9 Add a FIXME 0.11. Make the log message a bit more detailed and add comments. 2009-02-02 18:05:42 +02:00
Wim Taymans
35cec4c006 Fix string leak in rtspmessage
when we remove a header field from a message we must free the value associated
with the key to avoid a memory leak.
2009-02-02 10:09:07 +01:00
Stefan Kost
950d0c0a7d Link to the class, as we can't link to the members yet. 2009-01-31 18:44:32 +02:00
Wim Taymans
6f3511bfb6 fix some typos
Fix some typos in the doc string of the new
gst_rtsp_options_as_string() method.
2009-01-29 14:00:30 +01:00
Wim Taymans
484a025f6d Add new RTSP message method to set header
Add gst_rtsp_message_take_header() that takes ownership of the passed header
value. This allows us to avoid an allocations and memory copy in some
situations.
API: GstRTSPMessage::gst_rtsp_message_take_header()
2009-01-29 11:55:10 +01:00
Wim Taymans
e8bd8cab41 Add method to serialize RTSP options
Add gst_rtsp_options_as_text() method to serialize a set of RTSP options to a
string.
API: GstRTSP::gst_rtsp_options_as_text()
2009-01-28 11:48:01 +01:00
Jan Schmidt
63c9ede3d0 Extend and clean up git ignores 2009-01-23 23:16:11 +00:00
Wim Taymans
a7f2540f77 Add more codec ids for RIFF formats
Handle codec ID for various other AAC formats.
Sync the list of possible codec ids with that of ffmpeg.
Fixes #567255
2009-01-23 11:33:29 +01:00
Wim Taymans
26256b95c8 Reset queued_bytes counter when flushing
Set the amount of queued bytes in the internal queue back to 0 when we clear the
queue.
Fixes #567982
2009-01-23 11:11:31 +01:00
Wim Taymans
509f561ef3 Merge branch 'master' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-base 2009-01-22 13:12:02 +01:00
Sebastian Dröge
2e8f9921c9 Reduce the number of allocations for creating FFT contexts
Reduce the number of allocations from 2 to 1 for every FFT
context by allocating enough memory for the FFT context
and passing parts of it to the kissfft allocation functions.
2009-01-22 12:54:35 +01:00
Wim Taymans
9ce042e2a7 Avoid overflows in the padding checks by doing the check slightly
differently.
Add a unit test to check for correct behaviour.
2009-01-21 13:09:29 +01:00
Sebastian Dröge
4d3ff205be gst-libs/gst/fft/: Use correct struct alignment everywhere to prevent unaligned memory accesses, resulting in SIGBUS ...
Original commit message from CVS:
* gst-libs/gst/fft/_kiss_fft_guts_f32.h:
* gst-libs/gst/fft/_kiss_fft_guts_f64.h:
* gst-libs/gst/fft/_kiss_fft_guts_s16.h:
* gst-libs/gst/fft/_kiss_fft_guts_s32.h:
* gst-libs/gst/fft/kiss_fftr_f32.c: (kiss_fftr_f32_alloc):
* gst-libs/gst/fft/kiss_fftr_f64.c: (kiss_fftr_f64_alloc):
* gst-libs/gst/fft/kiss_fftr_s16.c: (kiss_fftr_s16_alloc):
* gst-libs/gst/fft/kiss_fftr_s32.c: (kiss_fftr_s32_alloc):
Use correct struct alignment everywhere to prevent unaligned
memory accesses, resulting in SIGBUS on sparc and probably others.
Fixes bug #500833.
2009-01-16 11:44:04 +00:00
Sebastian Dröge
98ea758763 gst-libs/gst/tag/gsttagdemux.c: Forward unknown events upstream to allow latency configuration.
Original commit message from CVS:
* gst-libs/gst/tag/gsttagdemux.c: (gst_tag_demux_srcpad_event):
Forward unknown events upstream to allow latency configuration.
Fixes bug #567960.
2009-01-16 11:40:02 +00:00
Jan Schmidt
80ac3b565e gst-libs/gst/app/gstappsink.c: Store the returned signal id in the right slot when registering the pull-buffer signal.
Original commit message from CVS:
* gst-libs/gst/app/gstappsink.c:
Store the returned signal id in the right slot when
registering the pull-buffer signal.
Fixes #567168
Spotted by: Thomas Vander Stichele  <thomas at apestaart dot org>
2009-01-09 23:13:17 +00:00
Tim-Philipp Müller
d629c9fc17 gst-libs/gst/interfaces/mixer.c: Small docs addition to clarify that one really mustn't free the constant GList retur...
Original commit message from CVS:
* gst-libs/gst/interfaces/mixer.c:
Small docs addition to clarify that one really mustn't free
the constant GList returned (#566812).
2009-01-09 17:17:50 +00:00
Wim Taymans
1f6297f051 Add GType for GstRTSPUrl and expose a copy function because we can.
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/rtsp/gstrtspurl.c: (register_rtsp_url_type),
(gst_rtsp_url_get_type), (gst_rtsp_url_copy):
* gst-libs/gst/rtsp/gstrtspurl.h:
* win32/common/libgstrtsp.def:
Add GType for GstRTSPUrl and expose a copy function because we can.
API: gst_rtsp_url_copy()
Fixes #567027.
2009-01-08 17:18:24 +00:00
Sebastian Dröge
ba03cb6080 gst-libs/gst/cdda/gstcddabasesrc.*: Make the GType of GstCDDABaseSrcMode public for bindings.
Original commit message from CVS:
* gst-libs/gst/cdda/gstcddabasesrc.c:
* gst-libs/gst/cdda/gstcddabasesrc.h:
Make the GType of GstCDDABaseSrcMode public for bindings.
Fixes bug #566837.
2009-01-07 10:50:15 +00:00
José Alburquerque
7431789249 gst-libs/gst/audio/gstaudioclock.*: Make gst_audio_clock_new use const gchar* to ease the wrapping of
Original commit message from CVS:
Patch by: José Alburquerque <jaalburqu svn gnome org>
* gst-libs/gst/audio/gstaudioclock.c: (gst_audio_clock_new):
* gst-libs/gst/audio/gstaudioclock.h:
Make gst_audio_clock_new use const gchar* to ease the wrapping of
C++ bindings. Fixes #566723.
2009-01-06 17:30:31 +00:00
Tim-Philipp Müller
ada70bb159 gst-libs/gst/app/: Make debug categories static. Use _element_class_set_details_simple().
Original commit message from CVS:
* gst-libs/gst/app/gstappsink.c:
* gst-libs/gst/app/gstappsink.h:
* gst-libs/gst/app/gstappsrc.c:
* gst-libs/gst/app/gstappsrc.h:
Make debug categories static. Use _element_class_set_details_simple().
2009-01-06 11:10:29 +00:00
Tim-Philipp Müller
d2b82026c8 gst-libs/gst/app/: Move private data into a private instance struct. Add padding to instance and class structures exp...
Original commit message from CVS:
* gst-libs/gst/app/gstappsink.c: (_GstAppSinkPrivate),
(gst_app_sink_class_init), (gst_app_sink_init),
(gst_app_sink_dispose), (gst_app_sink_finalize),
(gst_app_sink_unlock_start), (gst_app_sink_unlock_stop),
(gst_app_sink_flush_unlocked), (gst_app_sink_start),
(gst_app_sink_stop), (gst_app_sink_event), (gst_app_sink_preroll),
(gst_app_sink_render), (gst_app_sink_getcaps),
(gst_app_sink_set_caps), (gst_app_sink_get_caps),
(gst_app_sink_is_eos), (gst_app_sink_set_emit_signals),
(gst_app_sink_get_emit_signals), (gst_app_sink_set_max_buffers),
(gst_app_sink_get_max_buffers), (gst_app_sink_set_drop),
(gst_app_sink_get_drop), (gst_app_sink_pull_preroll),
(gst_app_sink_pull_buffer)::
* gst-libs/gst/app/gstappsink.h: (GstAppSinkPrivate), (_GstAppSink)::
* gst-libs/gst/app/gstappsrc.c: (_GstAppSrcPrivate),
(gst_app_src_class_init), (gst_app_src_init),
(gst_app_src_flush_queued), (gst_app_src_dispose),
(gst_app_src_finalize), (gst_app_src_set_property),
(gst_app_src_get_property), (gst_app_src_unlock),
(gst_app_src_unlock_stop), (gst_app_src_start), (gst_app_src_stop),
(gst_app_src_is_seekable), (gst_app_src_check_get_range),
(gst_app_src_query), (gst_app_src_do_seek), (gst_app_src_create),
(gst_app_src_set_caps), (gst_app_src_get_caps),
(gst_app_src_set_size), (gst_app_src_get_size),
(gst_app_src_set_stream_type), (gst_app_src_get_stream_type),
(gst_app_src_set_max_bytes), (gst_app_src_get_max_bytes),
(gst_app_src_set_latencies), (gst_app_src_set_latency),
(gst_app_src_get_latency), (gst_app_src_push_buffer_full),
(gst_app_src_push_buffer_action), (gst_app_src_end_of_stream)::
* gst-libs/gst/app/gstappsrc.h: (GstAppSrcPrivate)::
Move private data into a private instance struct. Add padding to
instance and class structures exposed in public headers. Add
Since markers to the gtk-doc blurbs (#566750).
2009-01-06 10:56:45 +00:00
Jan Schmidt
1b2dc5f3a8 gst-libs/gst/video/: Fix up build flags and include statement for the new generated enumtypes files, to fix dist.
Original commit message from CVS:
* gst-libs/gst/video/Makefile.am:
* gst-libs/gst/video/video.h:
Fix up build flags and include statement for the new generated
enumtypes files, to fix dist.
2009-01-06 10:16:16 +00:00
Jan Schmidt
08393941a8 Move AppSrc/AppSink from gst-plugins-bad. Fixes #564421
Original commit message from CVS:
* configure.ac:
* docs/libs/Makefile.am:
* docs/libs/gst-plugins-base-libs-docs.sgml:
* docs/libs/gst-plugins-base-libs-sections.txt:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-base-plugins-docs.sgml:
* docs/plugins/gst-plugins-base-plugins-sections.txt:
* docs/plugins/gst-plugins-base-plugins.args:
* docs/plugins/gst-plugins-base-plugins.hierarchy:
* docs/plugins/gst-plugins-base-plugins.interfaces:
* docs/plugins/gst-plugins-base-plugins.prerequisites:
* docs/plugins/gst-plugins-base-plugins.signals:
* docs/plugins/inspect/plugin-app.xml:
* gst-libs/gst/Makefile.am:
* gst-libs/gst/app/gstappsink.c:
* gst-libs/gst/app/gstappsrc.c:
* tests/examples/Makefile.am:
* tests/examples/app/Makefile.am:
Move AppSrc/AppSink from gst-plugins-bad. Fixes #564421
2009-01-05 23:04:57 +00:00
Wim Taymans
0a4c1bc64c gst-libs/gst/audio/gstbaseaudiosink.c: Avoid holding the OBJECT_LOCK when calling ringbuffer functions that take the ...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_change_state):
Avoid holding the OBJECT_LOCK when calling ringbuffer functions that
take the ringbuffer lock because rinbuffer lock > OBJECT_LOCK. We can do
this because the async_play method is deprecated and usually not called
anymore.
2009-01-05 17:13:13 +00:00
Edward Hervey
70a35897fb gst-libs/gst/tag/gsttagdemux.*: Add GType for GstTagDemuxResult enum.
Original commit message from CVS:
* gst-libs/gst/tag/gsttagdemux.c: (gst_tag_demux_result_get_type):
* gst-libs/gst/tag/gsttagdemux.h:
Add GType for GstTagDemuxResult enum.
2008-12-31 13:31:55 +00:00
Edward Hervey
98ad43fcdd gst-libs/gst/video/: Add glib-mkenum for GstVideoFormat enum GTYPE auto-generation.
Original commit message from CVS:
* gst-libs/gst/video/Makefile.am:
* gst-libs/gst/video/video.h:
Add glib-mkenum for GstVideoFormat enum GTYPE auto-generation.
This will help bindings to use it.
2008-12-31 13:01:30 +00:00
Edward Hervey
e2fcc71650 Switch glib-mkenum for gst-libs/gst/audio from multichannel- to audio- in order to wrap all enums declarations of tha...
Original commit message from CVS:
* gst-libs/gst/audio/Makefile.am:
* gst-libs/gst/audio/audio.c:
* gst-libs/gst/audio/multichannel.h:
* gst-libs/gst/audio/testchannels.c:
* win32/MANIFEST:
* win32/common/audio-enumtypes.c:
(gst_audio_channel_position_get_type),
(gst_ring_buffer_state_get_type),
(gst_ring_buffer_seg_state_get_type),
(gst_buffer_format_type_get_type), (gst_buffer_format_get_type):
* win32/common/audio-enumtypes.h:
* win32/common/multichannel-enumtypes.c:
* win32/common/multichannel-enumtypes.h:
* win32/vs6/grammar.dsp:
* win32/vs6/libgstaudio.dsp:
* win32/vs7/libgstaudio.vcproj:
* win32/vs8/libgstaudio.vcproj:
Switch glib-mkenum for gst-libs/gst/audio from multichannel- to
audio- in order to wrap all enums declarations of that library.
This modification should not matter since that header file is not a
public header (it will be included by public headers).
Modify win32 crap^Wfiles accordingly.
2008-12-31 11:20:26 +00:00
Edward Hervey
20adaa1328 gst-libs/gst/audio/: Complete Sebastien's commit from the 13th by exporting the _slave_method_get_type() methods.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosrc.h:
* gst-libs/gst/audio/gstbaseaudiosink.h:
Complete Sebastien's commit from the 13th by exporting the
_slave_method_get_type() methods.
2008-12-30 17:55:07 +00:00
Wim Taymans
0ab6c0fbc0 gst-libs/gst/app/gstappsrc.*: Add properties and methods to configure and retrieve the min and max latencies.
Original commit message from CVS:
* gst-libs/gst/app/gstappsrc.c: (gst_app_src_class_init),
(gst_app_src_init), (gst_app_src_set_property),
(gst_app_src_get_property), (gst_app_src_query),
(gst_app_src_set_latencies), (gst_app_src_set_latency),
(gst_app_src_get_latency), (gst_app_src_push_buffer_full):
* gst-libs/gst/app/gstappsrc.h:
Add properties and methods to configure and retrieve the min and max
latencies.
2008-12-29 16:45:20 +00:00
Wim Taymans
a579eba73d gst-libs/gst/audio/gstbaseaudiosink.c: Pause the write thread before deactivating and releasing the ringbuffer to avo...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_setcaps):
Pause the write thread before deactivating and releasing the ringbuffer
to avoid a deadlock when we do gapless playback with different sample
rates in playbin2.  Fixes #564929.
2008-12-20 12:45:03 +00:00
Sebastian Dröge
4ed1f5d6fd gst-libs/gst/audio/gstbaseaudiosrc.c: Make GstAudioSrcSlaveMethod get_type() function non-static as it's public now.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosrc.c:
Make GstAudioSrcSlaveMethod get_type() function non-static
as it's public now.
* win32/common/libgstaudio.def:
* win32/common/libgstnetbuffer.def:
Add some missing functions to the list of exported symbols.
2008-12-19 13:03:00 +00:00
Andrew Feren
a628077e96 gst-libs/gst/netbuffer/gstnetbuffer.*: Make gst_netaddress_get_ip4_address fail for v6 addresses.
Original commit message from CVS:
Patch by: Andrew Feren <acferen at yahoo dot com>
* gst-libs/gst/netbuffer/gstnetbuffer.c:
(gst_netaddress_get_ip4_address), (gst_netaddress_get_ip6_address),
(gst_netaddress_get_address_bytes),
(gst_netaddress_set_address_bytes):
* gst-libs/gst/netbuffer/gstnetbuffer.h:
Make gst_netaddress_get_ip4_address fail for v6 addresses.
Make gst_netaddress_get_ip6_address either fail or return the v4
address as a transitional v6 address.
Add two convenience functions:
API: gst_netaddress_get_address_bytes()
API: gst_netaddress_set_address_bytes()
Fixes #564896.
2008-12-18 12:37:33 +00:00
Wim Taymans
8567ee2149 Add appsrc and appsink documentation.
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
* docs/plugins/gst-plugins-bad-plugins-sections.txt:
* gst-libs/gst/app/gstappsink.c:
* gst-libs/gst/app/gstappsrc.c: (gst_app_src_class_init):
Add appsrc and appsink documentation.
2008-12-17 13:51:46 +00:00
Wim Taymans
24685b5df0 examples/app/: Fix example to unref after emiting the push-buffer action.
Original commit message from CVS:
* examples/app/appsrc-ra.c: (feed_data):
* examples/app/appsrc-seekable.c: (feed_data):
* examples/app/appsrc-stream.c: (read_data):
* examples/app/appsrc-stream2.c: (feed_data):
Fix example to unref after emiting the push-buffer action.
* gst-libs/gst/app/gstappsrc.c: (gst_app_src_class_init),
(gst_app_src_push_buffer_full), (gst_app_src_push_buffer),
(gst_app_src_push_buffer_action):
Don't take the ref on the buffer in push-buffer action because it's too
awkward for bindings. Fixes #564482.
2008-12-15 12:02:26 +00:00
Sebastian Dröge
04d9ff9a24 gst-libs/gst/audio/: API: Add GST_TYPE_BASE_AUDIO_(SRC|SINK)_SLAVE_METHOD to the public API. This is needed for the C...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_slave_method_get_type),
(gst_base_audio_sink_class_init):
* gst-libs/gst/audio/gstbaseaudiosink.h:
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_slave_method_get_type),
(gst_base_audio_src_class_init):
* gst-libs/gst/audio/gstbaseaudiosrc.h:
API: Add GST_TYPE_BASE_AUDIO_(SRC|SINK)_SLAVE_METHOD to the
public API. This is needed for the C++ bindings to be able
to use this base classes. Fixes bug #564200, #564206.
2008-12-13 06:57:09 +00:00
Edward Hervey
c5ae184910 gst-libs/gst/cdda/gstcddabasesrc.c: Remove erroneous gst_buffer_ref().
Original commit message from CVS:
* gst-libs/gst/cdda/gstcddabasesrc.c:
(gst_cdda_base_src_handle_event):
Remove erroneous gst_buffer_ref().
* tests/check/libs/rtp.c: (GST_START_TEST):
Don't forget to unref the buffer once you're done with it.
2008-12-12 19:41:28 +00:00
Edward Hervey
c4295a07b9 gst-libs/gst/riff/riff-media.c: Add mapping for VP6 in avi/riff.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps),
(gst_riff_create_video_template_caps):
Add mapping for VP6 in avi/riff.
2008-12-12 07:15:22 +00:00
Luis Menina
a4493595a6 gst/: Include glib.h instead of a specific GLib header. Including single
Original commit message from CVS:
Patch by: Luis Menina <liberforce at freeside dot fr>
* gst-libs/gst/floatcast/floatcast.h:
* gst/typefind/gsttypefindfunctions.c:
Include glib.h instead of a specific GLib header. Including single
GLib headers is deprecated. Fixes bug #563904.
2008-12-10 08:19:13 +00:00
Julien Moutte
b7f763b23f gst-libs/gst/riff/riff-media.c: Support higher max audio rates for some formats (WAV, Vorbis, LPCM).
Original commit message from CVS:
2008-12-09  Julien Moutte  <julien@fluendo.com>

* gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
Support higher max audio rates for some formats (WAV, Vorbis, LPCM).
2008-12-09 18:30:10 +00:00
Stefan Kost
b3cc87185a gst-libs/gst/riff/riff-read.c: Fix handling of odd chunks in riff metadata.
Original commit message from CVS:
* gst-libs/gst/riff/riff-read.c:
Fix handling of odd chunks in riff metadata.
2008-12-09 17:21:37 +00:00
Olivier Crete
3c9df39c15 gst-libs/gst/rtp/gstrtcpbuffer.*: Implement gst_rtcp_packet_remove(). Fixes #563174.
Original commit message from CVS:
Patch by: Olivier Crete  <tester at tester ca>
* gst-libs/gst/rtp/gstrtcpbuffer.c: (gst_rtcp_packet_remove):
* gst-libs/gst/rtp/gstrtcpbuffer.h:
Implement gst_rtcp_packet_remove(). Fixes #563174.
* tests/check/libs/rtp.c: (GST_START_TEST), (rtp_suite):
Add unit test for some RTCP functions.
2008-12-08 12:08:32 +00:00
이문형
933186aaa1 gst-libs/gst/app/gstappsrc.c: Don't forget to release the lock again if we bail out because some pad is flushing or w...
Original commit message from CVS:
Patch by: 이문형 <iwings at gmail dot com>
* gst-libs/gst/app/gstappsrc.c: (gst_app_src_push_buffer):
Don't forget to release the lock again if we bail out because some
pad is flushing or we've reached EOS, otherwise things will lock up
next time _push_buffer() is called (#562802).
2008-12-01 19:36:35 +00:00
Wim Taymans
af354dbef3 gst-libs/gst/audio/gstbaseaudiosrc.c: Avoid nasty int overflows after about 12 hours and 25 minutes when these code p...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_get_offset), (gst_base_audio_src_create):
Avoid nasty int overflows after about 12 hours and 25 minutes when these
code paths are triggered.
A free beer to Håvard Graff for finding this!
2008-11-27 16:47:41 +00:00
이문형
d80a5c9dbc gst-libs/gst/rtsp/gstrtspconnection.c: A successful gst_poll_wait() doesn't always mean successful connect() on
Original commit message from CVS:
Patch by: 이문형 <iwings at gmail dot com>
* gst-libs/gst/rtsp/gstrtspconnection.c:
(gst_rtsp_connection_connect):
A successful gst_poll_wait() doesn't always mean successful connect() on
Windows.  We should check errors by calling gst_poll_fd_has_error().
See #561924.
2008-11-27 11:16:44 +00:00
Wim Taymans
b2004e3d05 gst-libs/gst/rtp/gstrtcpbuffer.c: Fix typo in the docs.
Original commit message from CVS:
* gst-libs/gst/rtp/gstrtcpbuffer.c:
Fix typo in the docs.
2008-11-25 15:33:30 +00:00
Wim Taymans
6983c1c85b gst-libs/gst/audio/gstbaseaudiosink.c: Really fix audiosink drain handling by keeping track of the running_time of th...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_drain), (gst_base_audio_sink_event),
(gst_base_audio_sink_sync_latency), (gst_base_audio_sink_render),
(gst_base_audio_sink_change_state):
Really fix audiosink drain handling by keeping track of the running_time
of the last sample.
2008-11-25 10:32:49 +00:00
Stefan Kost
a8264f66c7 gst-libs/gst/audio/gstbaseaudiosink.c: Time is already in running_time. Remove base_time handling. Fixes audiosinks n...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
Time is already in running_time. Remove base_time handling. Fixes
audiosinks not draining and thus chopping some audio in the end.
2008-11-24 20:11:52 +00:00
Stefan Kost
7f937c99d4 gst-libs/gst/audio/gstbaseaudiosink.c: Add one log message to check for audio_drained. Sync one log message with the ...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
Add one log message to check for audio_drained. Sync one log message
with the condition. Send EOS after draining audio in pull mode.
2008-11-24 12:56:54 +00:00
Michael Smith
77c3f8bb7f gst-libs/gst/rtsp/gstrtspdefs.c: Fix win32 build. Oops.
Original commit message from CVS:
* gst-libs/gst/rtsp/gstrtspdefs.c:
Fix win32 build. Oops.
2008-11-20 22:06:05 +00:00
Michael Smith
4f04294e45 gst-libs/gst/rtsp/gstrtspdefs.c: Use WSAGetLastError() rather than errno/h_errno on win32.
Original commit message from CVS:
* gst-libs/gst/rtsp/gstrtspdefs.c:
Use WSAGetLastError() rather than errno/h_errno on win32.
2008-11-20 21:40:49 +00:00
Michael Smith
eabff64640 gst-libs/gst/riff/riff-media.c: Support WMA Lossless properly.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
Support WMA Lossless properly.
2008-11-20 21:20:27 +00:00
Jan Schmidt
66ba67723e gst-libs/gst/interfaces/propertyprobe.c: Fix random type causing a docs warning.
Original commit message from CVS:
* gst-libs/gst/interfaces/propertyprobe.c:
Fix random type causing a docs warning.
2008-11-14 21:39:09 +00:00
Wim Taymans
9c32e1f152 gst-libs/gst/rtp/gstrtpbuffer.c: Avoid expensive type checks we already did as part of the _validate() function that ...
Original commit message from CVS:
* gst-libs/gst/rtp/gstrtpbuffer.c: (gst_rtp_buffer_validate_data),
(gst_rtp_buffer_set_packet_len), (gst_rtp_buffer_get_packet_len),
(gst_rtp_buffer_get_header_len), (gst_rtp_buffer_get_version),
(gst_rtp_buffer_set_version), (gst_rtp_buffer_get_padding),
(gst_rtp_buffer_set_padding), (gst_rtp_buffer_pad_to),
(gst_rtp_buffer_get_extension), (gst_rtp_buffer_set_extension),
(gst_rtp_buffer_get_extension_data),
(gst_rtp_buffer_set_extension_data), (gst_rtp_buffer_get_ssrc),
(gst_rtp_buffer_set_ssrc), (gst_rtp_buffer_get_csrc_count),
(gst_rtp_buffer_get_csrc), (gst_rtp_buffer_set_csrc),
(gst_rtp_buffer_get_marker), (gst_rtp_buffer_set_marker),
(gst_rtp_buffer_get_payload_type),
(gst_rtp_buffer_set_payload_type), (gst_rtp_buffer_get_seq),
(gst_rtp_buffer_set_seq), (gst_rtp_buffer_get_timestamp),
(gst_rtp_buffer_set_timestamp),
(gst_rtp_buffer_get_payload_subbuffer),
(gst_rtp_buffer_get_payload_len), (gst_rtp_buffer_get_payload):
Avoid expensive type checks we already did as part of the
_validate() function that should be called first.
2008-11-13 15:37:40 +00:00
Wim Taymans
c98d4a5031 gst-libs/gst/rtp/gstbasertpdepayload.c: Fix some cases where a newsegment event was not sent.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpdepayload.c: (create_segment_event),
(gst_base_rtp_depayload_push_full),
(gst_base_rtp_depayload_set_gst_timestamp):
Fix some cases where a newsegment event was not sent.
2008-11-11 16:40:50 +00:00
Edward Hervey
dfa2705aa0 gst/: Wim, you're a bad boy. You don't want people to contact you or what?
Original commit message from CVS:
* gst-libs/gst/app/gstappsink.c:
* gst-libs/gst/app/gstappsrc.c:
* gst/h264parse/gsth264parse.c:
Wim, you're a bad boy. You don't want people to contact you or what?
2008-11-10 14:53:45 +00:00
Wim Taymans
e701e64005 gst-libs/gst/audio/gstbaseaudiosink.c: Use gst_base_sink_do_preroll() to wait for PLAYING and before waiting for the ...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_sync_latency), (gst_base_audio_sink_render),
(gst_base_audio_sink_callback):
Use gst_base_sink_do_preroll() to wait for PLAYING and before waiting
for the latency to expire, fixes #559567.
2008-11-10 14:22:09 +00:00
Wim Taymans
67b54151fe gst-libs/gst/app/gstappsrc.*: Add is-live property.
Original commit message from CVS:
* gst-libs/gst/app/gstappsrc.c: (gst_app_src_class_init),
(gst_app_src_init), (gst_app_src_set_property),
(gst_app_src_get_property), (gst_app_src_push_buffer):
* gst-libs/gst/app/gstappsrc.h:
Add is-live property.
Add some more docs.
2008-11-07 17:35:46 +00:00
Wim Taymans
7ae1871c75 gst-libs/gst/riff/riff-media.c: Fix case where we don't have a range for the rates or channels as is the case with tr...
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
Fix case where we don't have a range for the rates or channels as is the
case with truespeech.
2008-11-06 12:14:51 +00:00
Stefan Kost
b9d45d9434 Don't install static libs for plugins. Fixes #550851 for -bad.
Original commit message from CVS:
* ext/alsaspdif/Makefile.am:
* ext/amrwb/Makefile.am:
* ext/apexsink/Makefile.am:
* ext/arts/Makefile.am:
* ext/artsd/Makefile.am:
* ext/audiofile/Makefile.am:
* ext/audioresample/Makefile.am:
* ext/bz2/Makefile.am:
* ext/cdaudio/Makefile.am:
* ext/celt/Makefile.am:
* ext/dc1394/Makefile.am:
* ext/dirac/Makefile.am:
* ext/directfb/Makefile.am:
* ext/divx/Makefile.am:
* ext/dts/Makefile.am:
* ext/faac/Makefile.am:
* ext/faad/Makefile.am:
* ext/gsm/Makefile.am:
* ext/hermes/Makefile.am:
* ext/ivorbis/Makefile.am:
* ext/jack/Makefile.am:
* ext/jp2k/Makefile.am:
* ext/ladspa/Makefile.am:
* ext/lcs/Makefile.am:
* ext/libfame/Makefile.am:
* ext/libmms/Makefile.am:
* ext/metadata/Makefile.am:
* ext/mpeg2enc/Makefile.am:
* ext/mplex/Makefile.am:
* ext/musepack/Makefile.am:
* ext/musicbrainz/Makefile.am:
* ext/mythtv/Makefile.am:
* ext/nas/Makefile.am:
* ext/neon/Makefile.am:
* ext/ofa/Makefile.am:
* ext/polyp/Makefile.am:
* ext/resindvd/Makefile.am:
* ext/sdl/Makefile.am:
* ext/shout/Makefile.am:
* ext/snapshot/Makefile.am:
* ext/sndfile/Makefile.am:
* ext/soundtouch/Makefile.am:
* ext/spc/Makefile.am:
* ext/swfdec/Makefile.am:
* ext/tarkin/Makefile.am:
* ext/theora/Makefile.am:
* ext/timidity/Makefile.am:
* ext/twolame/Makefile.am:
* ext/x264/Makefile.am:
* ext/xine/Makefile.am:
* ext/xvid/Makefile.am:
* gst-libs/gst/app/Makefile.am:
* gst-libs/gst/dshow/Makefile.am:
* gst/aiffparse/Makefile.am:
* gst/app/Makefile.am:
* gst/audiobuffer/Makefile.am:
* gst/bayer/Makefile.am:
* gst/cdxaparse/Makefile.am:
* gst/chart/Makefile.am:
* gst/colorspace/Makefile.am:
* gst/dccp/Makefile.am:
* gst/deinterlace/Makefile.am:
* gst/deinterlace2/Makefile.am:
* gst/dvdspu/Makefile.am:
* gst/festival/Makefile.am:
* gst/filter/Makefile.am:
* gst/flacparse/Makefile.am:
* gst/flv/Makefile.am:
* gst/games/Makefile.am:
* gst/h264parse/Makefile.am:
* gst/librfb/Makefile.am:
* gst/mixmatrix/Makefile.am:
* gst/modplug/Makefile.am:
* gst/mpeg1sys/Makefile.am:
* gst/mpeg4videoparse/Makefile.am:
* gst/mpegdemux/Makefile.am:
* gst/mpegtsmux/Makefile.am:
* gst/mpegvideoparse/Makefile.am:
* gst/mve/Makefile.am:
* gst/nsf/Makefile.am:
* gst/nuvdemux/Makefile.am:
* gst/overlay/Makefile.am:
* gst/passthrough/Makefile.am:
* gst/pcapparse/Makefile.am:
* gst/playondemand/Makefile.am:
* gst/rawparse/Makefile.am:
* gst/real/Makefile.am:
* gst/rtjpeg/Makefile.am:
* gst/rtpmanager/Makefile.am:
* gst/scaletempo/Makefile.am:
* gst/sdp/Makefile.am:
* gst/selector/Makefile.am:
* gst/smooth/Makefile.am:
* gst/smoothwave/Makefile.am:
* gst/speed/Makefile.am:
* gst/speexresample/Makefile.am:
* gst/stereo/Makefile.am:
* gst/subenc/Makefile.am:
* gst/tta/Makefile.am:
* gst/vbidec/Makefile.am:
* gst/videodrop/Makefile.am:
* gst/videosignal/Makefile.am:
* gst/virtualdub/Makefile.am:
* gst/vmnc/Makefile.am:
* gst/y4m/Makefile.am:
* sys/acmenc/Makefile.am:
* sys/cdrom/Makefile.am:
* sys/dshowdecwrapper/Makefile.am:
* sys/dshowsrcwrapper/Makefile.am:
* sys/dvb/Makefile.am:
* sys/dxr3/Makefile.am:
* sys/fbdev/Makefile.am:
* sys/oss4/Makefile.am:
* sys/qcam/Makefile.am:
* sys/qtwrapper/Makefile.am:
* sys/vcd/Makefile.am:
* sys/wininet/Makefile.am:
* win32/common/config.h:
Don't install static libs for plugins. Fixes #550851 for -bad.
2008-11-04 12:42:18 +00:00
Damien Lespiau
81724500ec gst-libs/gst/rtsp/gstrtspconnection.c: Make the next call to poll not depend on previous calls to poll with or withou...
Original commit message from CVS:
Patch by: Damien Lespiau  <damien.lespiau gmail com>
* gst-libs/gst/rtsp/gstrtspconnection.c:
(gst_rtsp_connection_write):
Make the next call to poll not depend on previous calls to poll with or
without reading from the active descriptor. Fixes #544293.
2008-11-03 10:49:24 +00:00
Nick Haddad
7413c8ee97 gst-libs/gst/riff/: Add support for other fourcc codes that are commonly used for 'uncompressed RGB', including 'RGB ...
Original commit message from CVS:
Patch by: Nick Haddad <nick at haddads dot net>
* gst-libs/gst/riff/riff-ids.h:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps):
Add support for other fourcc codes that are commonly used for
'uncompressed RGB', including 'RGB ', 'RAW ', and 0.
Fixes #558553.
2008-10-31 09:49:57 +00:00
Wim Taymans
1f724549e4 gst-libs/gst/app/gstappsink.c: Fix the docs.
Original commit message from CVS:
* gst-libs/gst/app/gstappsink.c: (gst_app_sink_class_init):
Fix the docs.
2008-10-29 17:02:55 +00:00
Sebastian Dröge
4d7ebf29d9 Move float endianness conversion macros to core. Second part of bug ##555196.
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/floatcast/floatcast.h:
Move float endianness conversion macros to core. Second part of
bug ##555196.
2008-10-23 07:11:23 +00:00
Sebastian Dröge
4177ce6727 gst-libs/gst/tag/tags.c: Remove useless buffer size assignment. It already has this value.
Original commit message from CVS:
* gst-libs/gst/tag/tags.c: (gst_tag_image_data_to_image_buffer):
Remove useless buffer size assignment. It already has this value.
2008-10-22 12:01:32 +00:00
Wim Taymans
6eed8ca285 gst-libs/gst/audio/gstaudiosink.c: Implement a separate activate functions to start monitoring the segments or, in pu...
Original commit message from CVS:
* gst-libs/gst/audio/gstaudiosink.c:
(gst_audioringbuffer_class_init), (gst_audioringbuffer_acquire),
(gst_audioringbuffer_activate), (gst_audioringbuffer_release),
(gst_audioringbuffer_stop):
Implement a separate activate functions to start monitoring the segments
or, in pull mode, pulling in data.
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_init), (gst_base_audio_sink_dispose),
(gst_base_audio_sink_query_pad), (gst_base_audio_sink_query),
(gst_base_audio_sink_setcaps), (gst_base_audio_sink_callback),
(gst_base_audio_sink_activate_pull),
(gst_base_audio_sink_async_play),
(gst_base_audio_sink_change_state):
Implement pad and element convert query function.
Activate the ringbuffer.
Use the segment last_stop value as the offset to pull.
Use new basesink _do_preroll() method to preroll in the pulling thread.
Take appropriate locking in the pulling thread.
* gst-libs/gst/audio/gstringbuffer.h:
Update some docs.
2008-10-20 15:35:37 +00:00
Wim Taymans
a6b78893c0 Add methods to more accuratly control the pulling thread of a ringbuffer.
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_convert),
(gst_ring_buffer_activate), (gst_ring_buffer_is_active):
* gst-libs/gst/audio/gstringbuffer.h:
Add methods to more accuratly control the pulling thread of a
ringbuffer.
Add format conversion helper code to the ringbuffer.
API: GstRingBuffer:gst_ring_buffer_activate()
API: GstRingBuffer:gst_ring_buffer_is_active()
API: GstRingBuffer:gst_ring_buffer_convert()
2008-10-17 13:19:05 +00:00
Wim Taymans
927999603a gst-libs/gst/audio/gstaudiosink.c: Signal thread startup earlier so that we can immediatly go into pull mode when we ...
Original commit message from CVS:
* gst-libs/gst/audio/gstaudiosink.c: (audioringbuffer_thread_func),
(gst_audioringbuffer_acquire), (gst_audioringbuffer_release),
(gst_audioringbuffer_stop):
Signal thread startup earlier so that we can immediatly go into pull
mode when we have to and block on preroll.
2008-10-16 15:44:37 +00:00
Wim Taymans
7bd29abb9d gst-libs/gst/audio/gstringbuffer.c: In pull mode we want the callback to prepull a buffer we can preroll on even when...
Original commit message from CVS:
* gst-libs/gst/audio/gstringbuffer.c:
(gst_ring_buffer_prepare_read):
In pull mode we want the callback to prepull a buffer we can preroll on
even when we are not yet playing.
2008-10-16 15:38:50 +00:00
Edward Hervey
2d1806931d gst-libs/gst/riff/riff-media.c: Add mappping for the KMVC (Karl Morton's Video) Codec.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps),
(gst_riff_create_video_template_caps):
Add mappping for the KMVC (Karl Morton's Video) Codec.
2008-10-15 15:28:41 +00:00
Wim Taymans
4ae82906ab gst-libs/gst/rtp/gstbasertpdepayload.*: Add some more G_LIKELY
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_setcaps), (gst_base_rtp_depayload_chain),
(gst_base_rtp_depayload_set_gst_timestamp),
(gst_base_rtp_depayload_change_state):
* gst-libs/gst/rtp/gstbasertpdepayload.h:
Add some more G_LIKELY
Fail when the setcaps function was not called.
* gst-libs/gst/rtp/gstbasertppayload.c:
(gst_basertppayload_set_outcaps):
Propagate return value of setcaps.
2008-10-13 09:16:59 +00:00
Sebastian Dröge
796fdbdf17 gst-libs/gst/tag/tags.c: Don't drop the last byte of image tags if they're not an URI list.
Original commit message from CVS:
* gst-libs/gst/tag/tags.c: (gst_tag_image_data_to_image_buffer):
Don't drop the last byte of image tags if they're not an URI list.
Fixes bug #556066.
2008-10-13 08:15:13 +00:00
Edward Hervey
57b0f5bef6 gst-libs/gst/audio/gstbaseaudiosrc.c: Fix debug statements (space between '%' and actual format).
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_create):
Fix debug statements (space between '%' and actual format).
2008-10-08 15:30:33 +00:00