Original commit message from CVS:
* gst/smpte/gstsmpte.c: (gst_smpte_init):
Proxy getcaps on sink pads too, so that we either end up with the
same dimensions on all pads or error out if that's not possible
(seems to work even!). Fixes#398086, I think.
Original commit message from CVS:
Patch by: Sebastian Dröge <slomo circular-chaos org>
* gst/audiofx/audiopanorama.c: (gst_audio_panorama_class_init),
(gst_audio_panorama_set_process_function):
Use a function array for process methods, add more docs and define the
startindex of enums.
Original commit message from CVS:
Patch by: Mark Nauwelaerts <manauw at skynet be>
* gst/avi/gstavimux.c: (gst_avi_mux_finalize),
(gst_avi_mux_pad_reset), (gst_avi_mux_reset), (gst_avi_mux_init),
(gst_avi_mux_vidsink_set_caps), (gst_avi_mux_audsink_set_caps),
(gst_avi_mux_request_new_pad), (gst_avi_mux_release_pad),
(gst_avi_mux_riff_get_avi_header),
(gst_avi_mux_riff_get_avix_header), (gst_avi_mux_riff_get_header),
(gst_avi_mux_write_avix_index), (gst_avi_mux_add_index),
(gst_avi_mux_bigfile), (gst_avi_mux_start_file),
(gst_avi_mux_stop_file), (gst_avi_mux_handle_event),
(gst_avi_mux_do_buffer), (gst_avi_mux_do_one_buffer),
(gst_avi_mux_change_state):
* gst/avi/gstavimux.h:
* tests/check/elements/avimux.c: (teardown_src_pad):
Add support for more than one audio stream; write better AVIX
header; refactor code a bit; don't announce vorbis caps on our audio
sink pads since we don't support it anyway. Closes#379298.
Original commit message from CVS:
2007-01-13 Andy Wingo <wingo@pobox.com>
* gst/interleave/deinterleave.c (gst_deinterleave_add_new_pads):
Use fixed caps on src pads.
(gst_deinterleave_remove_pads): Remove src pads, not sink pads. I
seem to have reverse midas disease!
(gst_deinterleave_process): Proxy timestamps, offsets, durations,
and set caps on outgoing buffers. Fixes#395597, I think.
Original commit message from CVS:
2007-01-13 Andy Wingo <wingo@pobox.com>
* gst/interleave/interleave.c (gst_interleave_init): Init the
activation mode properly.
(gst_interleave_src_setcaps, gst_interleave_src_getcaps)
(gst_interleave_init): Set a setcaps and getcaps function on the
src pad, so that we can implement pull-mode negotiation.
(gst_interleave_sink_setcaps): Renamed from
gst_interleave_setcaps, as it only does the sink logic now.
Implement both for pull-mode and push-mode.
(gst_interleave_process): Set caps on our outgoing buffer.
(gst_interleave_src_activate_pull): Fix some more bogus casts.
What is up with this.
Original commit message from CVS:
* gst/apetag/gsttagdemux.c: (gst_tag_demux_read_range):
* gst/id3demux/gstid3demux.c: (gst_id3demux_read_range):
Set correct caps on outgoing pulled buffers, or things blow up
after recent core changes.
Original commit message from CVS:
Patch by: Lutz Mueller <lutz at topfrose dot de>
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_activate_streams):
Check for stream pad before activating.
Original commit message from CVS:
Patch by: Peter Kjellerstedt <pkj at axis com>
* gst/rtsp/COPYING.MIT:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_create_stream),
(gst_rtspsrc_stream_free), (gst_rtspsrc_cleanup),
(gst_rtspsrc_alloc_udp_ports), (pad_unblocked), (pad_blocked),
(gst_rtspsrc_stream_configure_transport),
(gst_rtspsrc_activate_streams), (gst_rtspsrc_loop_interleaved),
(gst_rtspsrc_loop_udp), (gst_rtspsrc_send),
(gst_rtspsrc_parse_methods),
(gst_rtspsrc_create_transports_string),
(gst_rtspsrc_prepare_transports), (gst_rtspsrc_setup_streams),
(gst_rtspsrc_open), (gst_rtspsrc_close):
* gst/rtsp/gstrtspsrc.h:
* gst/rtsp/rtspconnection.c: (rtsp_connection_create),
(rtsp_connection_connect), (rtsp_connection_send), (read_line),
(parse_request_line), (parse_line), (rtsp_connection_read),
(rtsp_connection_close):
* gst/rtsp/rtspdefs.c: (rtsp_init_status), (rtsp_strresult),
(rtsp_method_as_text), (rtsp_header_as_text),
(rtsp_status_as_text), (rtsp_find_header_field),
(rtsp_find_method):
* gst/rtsp/rtspdefs.h:
* gst/rtsp/rtspextwms.c: (rtsp_ext_wms_after_send),
(rtsp_ext_wms_configure_stream):
* gst/rtsp/rtspmessage.c: (rtsp_message_new), (rtsp_message_init),
(rtsp_message_new_request), (rtsp_message_init_request),
(rtsp_message_new_response), (rtsp_message_init_response),
(rtsp_message_init_data), (rtsp_message_unset),
(rtsp_message_free), (rtsp_message_add_header),
(rtsp_message_get_header), (rtsp_message_set_body),
(rtsp_message_get_body), (dump_mem), (rtsp_message_dump):
* gst/rtsp/rtspmessage.h:
* gst/rtsp/sdpmessage.c: (sdp_message_get_attribute_val_n),
(sdp_media_get_attribute_val_n), (read_string), (read_string_del),
(sdp_parse_line), (sdp_message_parse_buffer), (print_media),
(sdp_message_dump):
Allow url to be NULL to be able to use it for server connections.
Can now send responses as well as requests.
No longer hangs in an endless loop if EOF is received.
Can now convert a status code to a text string.
Return RTSP_HDR_INVALID for unknown headers.
Return RTSP_INVALID for unknown methods.
Copy CSeq and Session headers from the request.
Only free memory corresponding to the currently set message type.
Added const to function arguments as appropriate.
Avoid a compiler warning when initializing nmedia.
Use guint rather than gint to avoid compiler warnings.
Fix crasher in wms extension.
Factor out stream setup from open_connection.
Delay activation of streams when actual data is received from the
server, this prepares us to do proper protocol switching.
Added new license.
Fixes#380895.
Original commit message from CVS:
Patch by: Sebastian Dröge <slomo ubuntu com>
* docs/plugins/Makefile.am:
* gst/audiofx/audiopanorama.c:
Some small docs fixes (#394851).
Original commit message from CVS:
Patch by: Vincent Torri <vtorri at univ-evry fr>
* ext/jpeg/gstjpegdec.c:
* ext/jpeg/gstjpegenc.c:
* ext/jpeg/smokecodec.c:
These libjpeg callbacks should return a 'boolean' (unsigned char
apparently) and not a 'gboolean' (which maps to gint). Fixes
warnings when compiling with MingW (#393427).
* gst/rtsp/rtspconnection.c: (rtsp_connection_read):
Use ioctlsocket on win32.
* gst/udp/gstudpsrc.c: (gst_udpsrc_create):
Some printf format fixes for win32.
Original commit message from CVS:
2007-01-07 Andy Wingo <wingo@pobox.com>
* configure.ac:
* gst/interleave/Makefile.am:
* gst/interleave/plugin.h:
* gst/interleave/plugin.c:
* gst/interleave/interleave.c:
* gst/interleave/deinterleave.c: New elements interleave and
deinterleave, implement channel interleaving and deinterleaving.
The interleaver can operate in pull or push mode but the
deinterleaver is more like a demuxer and can only operate in push
mode.
Original commit message from CVS:
* gst/cutter/gstcutter.c: (gst_cutter_chain):
Use gst_guint64_to_gdouble for conversion.
* win32/vs6/libgstmatroska.dsp:
Add zlib to the link.
* win32/vs6/libgstvideobox.dsp:
Update liboil library name (project is linked to liboil-0.3-0.lib now).
Original commit message from CVS:
* configure.ac:
* gst/qtdemux/Makefile.am:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_moov):
Check for zlib and if available pass it explicitly to the linker
when linking qtdemux. If not available (or --disable-external has
been specified!), disable the bits in qtdemux that use it. Fixes
build on MingW (#392856).
Original commit message from CVS:
* gst/matroska/Makefile.am:
If zlib is available and used, we must link it explicitly for
things to work on MingW (fixes#392855).
Original commit message from CVS:
* gst/matroska/matroska-mux.c:
(gst_matroska_mux_audio_pad_setcaps):
The "signed" field in audio caps is of boolean type, trying to use
gst_structure_get_int() to extract it will fail. Fixing this makes
matroskamux accept raw audio input (#387121) (use at your own risk
though, due to the matroska spec being not entirely useful in this
respect).
Also fix up raw audio structures in template caps so that they
represent what our setcaps function will actually accept, so that
converters know what to convert to.
Finally, don't fail if there isn't an "endianness" field in 8-bit
PCM caps.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_post_progress),
(gst_qtdemux_chain):
Don't post BUFFERING messages in streaming mode if the stream
headers are behind the movie data; instead, post "progress" element
messages as a temporary solution. Apps might get confused and do
silly things to the pipeline state if they see buffering messages
from different sources and don't realize they come from different
sources (#387160).
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_chain),
(gst_qtdemux_add_stream):
Don't output g_warning for an unsupported format, just send a
GST_ELEMENT_WARNING and don't add the pad.
Fix the case where it doesn't check for a NULL pad in streaming mode.
Fixes#387137
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak):
Fix crash dereferencing NULL pointer if there's no stco atom.
Fixes#387122.
Original commit message from CVS:
Patch by: Sjoerd Simons <sjoerd at luon dot net>
* gst/videomixer/videomixer.c: (gst_videomixer_pad_set_property),
(gst_videomixer_set_master_geometry),
(gst_videomixer_pad_sink_setcaps), (gst_videomixer_collect_free),
(gst_videomixer_reset), (gst_videomixer_init),
(gst_videomixer_finalize), (gst_videomixer_request_new_pad),
(gst_videomixer_release_pad), (gst_videomixer_collected),
(gst_videomixer_change_state):
Introduce some locking around the videomixer state so that it does not
crash when adding/removing pads. Fixes#383043.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_get_src_query_types),
(gst_qtdemux_handle_src_query), (gst_qtdemux_handle_src_event):
We don't support seeking in streaming mode, so don't even try.
Implement seeking query so apps can query seekability properly
(see #365414). Fix duration query.
Original commit message from CVS:
* gst/effectv/gstquark.c: (gst_quarktv_transform),
(gst_quarktv_planetable_clear):
Add some NULL pointer checks (possibly related to #385623).
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_get_duration),
(gst_qtdemux_handle_src_query), (qtdemux_parse_trak),
(qtdemux_audio_caps):
Add AMR-WB to the list of supported formats.
Original commit message from CVS:
* gst/apetag/gsttagdemux.c: (gst_tag_demux_chain_parse_tag),
(gst_tag_demux_chain):
* gst/id3demux/gstid3demux.c: (gst_id3demux_chain):
In streaming mode, if the first buffer we get doesn't have an
offset, fix it up to be 0, otherwise trimming won't work later on
and we'll be typefinding application/x-id3, which may result in
decodebin plugging an endless number of id3demux elements as a
consequence. Fixes#385031.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_tree):
Fix non-working redirects from inetfilm.com (handle 'alis' reference
data type as well). Fixes#378613.
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream),
(gst_matroska_demux_video_caps):
* gst/matroska/matroska-ids.c:
(gst_matroska_track_init_video_context):
* gst/matroska/matroska-ids.h:
Try harder to extract the framerate for video tracks correctly and
save it directly instead of converting it back and forth a few
times. Mostly makes a difference for very small framerates (<1).
Fixes#380199.
Original commit message from CVS:
Patch by: Sebastian Dröge <mail at slomosnail de>
* gst/apetag/gstapedemux.c: (ape_demux_parse_tags):
We need to be able to read and parse any possible floating point string
format ("1,234" or "1.234") irrespective of the current locale. g_strod()
will parse the former only in certain locales though, so we really need
to canonicalise the separator to '.' and then use g_ascii_strtod() to
make sure we can parse either version at all times.
Fixes#382982 for real.
Original commit message from CVS:
Patch by: René Stadler <mail at renestadler de>
* gst/qtdemux/qtdemux.c: (gst_qtdemux_get_duration),
(gst_qtdemux_handle_src_query), (qtdemux_parse_trak),
(qtdemux_audio_caps):
Fix caps for 24 bit raw PCM audio (2).
Fixes#383471.
Original commit message from CVS:
Patch by: Sebastian Dröge <mail at slomosnail de >
* gst/audiofx/audiopanorama.c: (gst_audio_panorama_init),
(gst_audio_panorama_set_caps), (gst_audio_panorama_transform):
* gst/audiofx/audiopanorama.h:
Fix audiopanorame with float samples. Fixes#383726.
Original commit message from CVS:
* gst/smpte/gstmask.h:
* gst/smpte/gstsmpte.c: (gst_smpte_class_init),
(gst_smpte_setcaps), (gst_smpte_init), (gst_smpte_reset),
(gst_smpte_collected), (gst_smpte_set_property),
(gst_smpte_get_property), (gst_smpte_change_state), (plugin_init):
* gst/smpte/gstsmpte.h:
Port to 0.10 some more.
Added duration property to specify the duration of the transition.
Make framerate a fraction.
Deprecate fps property, we only use negotiated fps.
Added docs.
Fix collectpad usage.
Reset state in READY.
Send NEWSEGMENT event.
Fix racy updates of object properties.
Added debug category.
Fixes#383323.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_get_duration),
(gst_qtdemux_handle_src_query), (qtdemux_parse_trak),
(qtdemux_video_caps):
Handle more H263 variants.
Original commit message from CVS:
Patch by: Sjoerd Simons <sjoerd at luon dot net>
* gst/videomixer/videomixer.c:
(gst_videomixer_set_master_geometry),
(gst_videomixer_pad_sink_setcaps), (gst_videomixer_collect_free):
Don't reset xpos and ypos in the setcaps function because causes
unexpected behaviour.
Fixes#382179.
Original commit message from CVS:
* gst/multipart/multipartmux.c: (gst_multipart_mux_compare_pads),
(gst_multipart_mux_queue_pads), (gst_multipart_mux_collected):
Keep track of the buffer timestamp in the collectdata member instead
of modifying the buffer without making the metadata writable first.
Fixes#382277.
Original commit message from CVS:
Patch by: Rob Taylor <robtaylor at floopily dot org>
* gst/udp/gstudpsrc.c: (gst_udpsrc_start):
If using multicast in udpsrc, bind to the multicast address rather than
IN_ADDR_ANY.
This allows the simultanous use of multiple udpsrcs listening on
different multicat addresses. Without this all udpsrcs will receive all
packets from all subscribed multicast addresses.
Fixes#383001.
Original commit message from CVS:
* gst/apetag/gstapedemux.c: (ape_demux_parse_tags):
Use g_strtod() instead of sscanf to parse doubles, so that it will
try parsing in the C locale if the current locale fails.
Fixes: #382982
Patch by: Sebastian Dröge <mail at slomosnail de >
Original commit message from CVS:
Patch by: René Stadler <mail at renestadler de>
* gst/replaygain/gstrganalysis.c: (gst_rg_analysis_event):
Call the base class handler. Fixes#380610.
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_open):
* gst/rtsp/gstrtspsrc.h:
* gst/rtsp/rtspext.h:
* gst/rtsp/rtspextwms.c: (rtsp_ext_wms_configure_stream),
(rtsp_ext_wms_get_context):
Add method so that extensions can choose to disable the setup of
a stream.
Make the WMS extension skip setup of x-wms-rtx streams. Fixes#377792.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_get_duration),
(gst_qtdemux_handle_src_query), (qtdemux_parse_trak):
Remove some asserts and replace them with a proper error
message. Fixes#379261.
Original commit message from CVS:
Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
* gst/multipart/multipartmux.c: (gst_multipart_mux_collected):
Push header in a separate buffer instead of memcpy:ing all data
Change LF => CRLF in headers
Move trailing LF to header