Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (mp3_type_find_at_offset):
Avoid integer underflow when the found probability for mp3 is
smaller than the 'penalty' we subtract if there's not a clean
mp3 header sync at offset 0.
Original commit message from CVS:
* gst/videotestsrc/Makefile.am:
* tests/check/Makefile.am:
Make sure our checks and the videotestsrc plugin link against the
local uninstalled gst libs and not any installed gst libs that
might happen to exist as well.
* tests/check/elements/adder.c: (message_received),
(test_event_message_received), (test_play_twice_message_received):
* tests/check/elements/ffmpegcolorspace.c: (GST_START_TEST):
Fix compiler warnings when compiling against core with disabled
debugging system.
Original commit message from CVS:
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_reset),
(gst_audio_rate_sink_event), (gst_audio_rate_chain):
Fix audiorate, so that it accurately sets offsets and timestamps.
Doesn't change the fundamental algorithmic decisions; so should be
safe.
* tests/check/Makefile.am:
Enable audiorate test now that it passes.
Original commit message from CVS:
* configure.ac:
Bump liboil requirement to 0.3.8.
* gst-libs/gst/riff/riff-media.c:
Add Dirac fourcc.
* gst/videoscale/vs_image.h:
* gst/videoscale/vs_scanline.h:
Use liboil's stdint.h.
* gst/videotestsrc/videotestsrc.c:
Remove liboil related ifdef's, since they aren't needed now, and
won't work with future versions.
Original commit message from CVS:
* gst/videoscale/Makefile.am:
* gst/videoscale/gstvideoscale.c:
* gst/videoscale/gstvideoscale.h:
* gst/videoscale/vs_4tap.c:
* gst/videoscale/vs_4tap.h:
* gst/videoscale/vs_image.c:
* gst/videoscale/vs_image.h:
* gst/videoscale/vs_scanline.c:
* gst/videoscale/vs_scanline.h:
Add a 4-tap image scaler. Theoretically looks much prettier.
The tap calculation could use some improvement.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (mp3_type_find_at_offset):
Lower the probability of mp3 typefinding functions if we don't find a
valid mp3 header at the start of the file.
Closes#369482
Original commit message from CVS:
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_add_full),
(gst_multi_fd_sink_remove), (gst_multi_fd_sink_clear),
(gst_multi_fd_sink_get_stats),
(gst_multi_fd_sink_remove_client_link),
(gst_multi_fd_sink_queue_buffer),
(gst_multi_fd_sink_handle_clients):
* gst/tcp/gstmultifdsink.h:
Make using the remove or clear signals threadsafe.
Make calling get-stats with an invalid fd not segfault.
Fixes 368273.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (qtif_type_find),
(plugin_init):
Add typefinder for QuickTime Image Files (see #366156).
Original commit message from CVS:
* gst/volume/gstvolume.c: (volume_transform_ip):
Use stream time to synchronize volume property instead of rather random
timestamps. This is needed when gnonlin does its time shifting.
Original commit message from CVS:
* gst/subparse/gstsubparse.c: (subrip_fix_up_markup),
(parse_subrip), (handle_buffer):
Add missing closing tags for markup and fix broken markup,
otherwise pango won't render anything (fixes#357531). Also,
make sure the text we send out is always NUL-terminated
(better safe than sorry etc.).
* tests/check/elements/subparse.c: (test_srt_do_test),
(test_srt):
Some more tests for .srt incl. tests for the above stuff.
Original commit message from CVS:
* gst/tcp/gstmultifdsink.c:
(gst_multi_fd_sink_client_queue_buffer):
If caps change, then update the client's idea of the caps so that we
don't end up re-sending streamheaders for every single buffer after
the caps change.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (mmsh_type_find),
(plugin_init):
Typefind mmsh header data packet to application/x-mmsh (#362625).
Original commit message from CVS:
* gst/subparse/gstsubparse.c: (strip_trailing_newlines),
(parse_subrip):
Strip trailing newlines from subtitle text output.
Original commit message from CVS:
* gst/subparse/gstsubparse.c: (gst_sub_parse_dispose),
(gst_sub_parse_change_state):
Fix memleak; clear subparse->textbuf n state change function.
Original commit message from CVS:
* gst/subparse/gstsubparse.c:
(gst_sub_parse_data_format_autodetect):
Don't require subrip (.srt) files to start with a chunk number of 1.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (subbin_startup_sync_msg),
(setup_source):
Catch async errors when starting up the subtitle bin, so we can
stop waiting and continue with the main film instead of hanging
forever. Fixes#339366.
* tests/check/elements/playbin.c: (playbin_suite):
Enable unit test for the above.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (setup_source):
Don't hang forever if the subbin already fails to start up in
the state change to PAUSED (#339366).
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (get_our_ghost_pad),
(remove_element_chain):
Don't return a pad from get_our_ghost_pad unless it is actually the
one we want.
Change a cast in remove_element_chain slightly.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_setcaps):
Don't crash when ringbuffer is not yet created.
Patch by: Ville Syrjala <ville dot syrjala at movial dot fi>
Fixes#361634.
* gst/playback/gstplaybasebin.c: (new_decoded_pad_full):
* gst/playback/gststreamselector.c:
(gst_stream_selector_request_new_pad):
Activate pads befre adding them to running elements.
Original commit message from CVS:
2006-10-10 Zaheer Abbas Merali <zaheerabbas at merali dot org>
Patch by: Josep Torre Valles <josep@fluendo.com>
* ext/gnomevfs/gstgnomevfssink.c:
* ext/gnomevfs/gstgnomevfssrc.c:
Fix URI interface implementation return type.
* ext/pango/gsttextoverlay.c: (gst_text_overlay_set_property):
Fix what looks like a copy/paste issue when assigning values.
* gst-libs/gst/audio/gstaudiofiltertemplate.c:
(gst_audio_filter_template_get_type):
Cast to prevent Forte warnings.
* gst-libs/gst/cdda/gstcddabasesrc.c: (gst_cdda_base_src_create):
Fix URI interface implementation return type.
gst_pad_query_position requires a signed integer pointer as
3rd parameter, GstClockTime is unsigned.
* gst/audioconvert/audioconvert.c:
Fix integer overflow when treated as signed.
* gst/audioresample/resample.c: (resample_add_input_data):
Cast to prevent warnings on Forte.
* gst/ffmpegcolorspace/imgconvert.c: (build_rgb_palette):
Fix integer overflow when treated as signed.
* gst/ffmpegcolorspace/imgconvert_template.h:
Fix integer overflow when treated as signed. RGBA_OUT shifts bits.
* gst/playback/gstdecodebin.c: (queue_filled_cb),
(cleanup_decodebin):
Who initialises a guint to -1!
Cast function pointers to prevent warnings on Forte.
* gst/playback/gstplaybasebin.c: (queue_deadlock_check),
(queue_threshold_reached):
Cast function pointers correctly to prevent warnings on Forte.
* gst/playback/gststreaminfo.c: (gst_stream_info_dispose):
Cast function pointers correctly to prevent warnings on Forte.
* gst/subparse/gstssaparse.c: (gst_ssa_parse_setcaps):
Obvious change to unsigned, 0xEF > max signed char.
* gst/tcp/gstmultifdsink.c: (get_buffers_max), (count_burst_unit):
GstClockTime is unsigned, initialise correctly.
* gst/tcp/gsttcp.c: (gst_tcp_socket_write):
Cast so pointer arithemetic doesn't cause warnings on Forte.
* gst/videorate/gstvideorate.c:
Use correct return value.
* tests/examples/seek/scrubby.c:
GstClockTime is unsigned, initialise correctly.
Original commit message from CVS:
Patch by: Ferenc Gerlits <fgerlits at gmail com>
* gst/typefind/gsttypefindfunctions.c:
Recognise XML files and XML-like files shorter than 256 bytes as
well (fixes#359237).
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (gst_decode_bin_init),
(close_pad_link):
* gst/playback/gstplaybasebin.c: (new_decoded_pad_full):
Activate dynamic pads before adding them to the element.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_change_state):
Also call parent state change function to activate pads.
* gst/typefind/gsttypefindfunctions.c: (mp3_type_find_at_offset),
(mpeg1_parse_header), (mpeg1_sys_type_find):
Add some more debug info in mpeg typefinding.
Original commit message from CVS:
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init),
(gst_multi_fd_sink_get_stats), (find_limits),
(gst_multi_fd_sink_queue_buffer):
API: add dropped_buffers to the get-stats GValueArray
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (close_pad_link):
Fix typo in a debug statement.
* gst/playback/gstplaybasebin.c: (probe_triggered),
(new_decoded_pad_full), (new_decoded_pad), (subs_new_decoded_pad),
(gen_source_element), (source_new_pad), (analyse_source),
(setup_source):
When handling no_more_pads in new_decoded_pad, make sure to treat
subtitle pads correctly. Fixes playback with subtitle files.
Move a recurring message to LOG level.
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support):
The maximum value for the Xv colorkey on this Radeon is 0xFFFFFFFF,
which ends up as -1 when cast to an int. Make the logic handle the
max value as an unsigned mask and only change the colorkey when it's
a value we recognise.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (dynamic_create), (dynamic_free),
(close_pad_link), (dynamic_remove), (no_more_pads), (new_caps),
(find_dynamic), (unlinked), (close_link):
Implement delayed caps linking needed for element with a lot of
different caps on the src pads that get fixed at runtime.
Improve management of dynamic elements.
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_init),
(group_destroy), (group_commit), (check_queue), (queue_overrun),
(gen_preroll_element), (remove_groups), (unknown_type),
(add_element_stream), (no_more_pads_full), (no_more_pads),
(sub_no_more_pads), (source_no_more_pads), (preroll_unlinked),
(new_decoded_pad), (setup_subtitle), (array_has_value),
(gen_source_element), (source_new_pad), (has_all_raw_caps),
(analyse_source), (remove_decoders), (make_decoder),
(remove_source), (setup_source), (finish_source), (prepare_output),
(gst_play_base_bin_change_state):
* gst/playback/gstplaybasebin.h:
Use more _CAST instead of full type checking casts.
Small cleanups, plug some leaks.
Handle dynamic sources.
Add some helper functions to create lists of strings used for
blacklisting and other stuff.
Refactor some code dealing with analysing the source.
Re-enable sources without pads (like cd:// or other selfcontained
elements).
Original commit message from CVS:
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_chain):
Set caps on outgoing buffers.
* gst/videorate/gstvideorate.c: (gst_video_rate_flush_prev),
(gst_video_rate_event), (gst_video_rate_chain):
* gst/videorate/gstvideorate.h:
Fix videorate some more. Fixes#357977
Original commit message from CVS:
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_reset),
(gst_audio_rate_sink_event), (gst_audio_rate_convert),
(gst_audio_rate_convert_segments), (gst_audio_rate_chain):
Keep sink and src segment to keep track of time and support more
input formats.
Fix bogus next_offset and run_time calculation, don't understand how
this could have worked before. Fixes#357976.
Remove some unneeded vars.
Original commit message from CVS:
* gst/playback/gstplaybin.c: (remove_sinks):
Only remove visualisation from visbin if there is a visbin (or:
don't throw warnings when closing totem without playing a file).
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (gst_decode_bin_factory_filter),
(add_fakesink), (remove_fakesink), (pad_probe), (close_pad_link),
(is_demuxer_element), (try_to_link_1), (get_our_ghost_pad),
(new_pad):
Cleanups and small leak fixes.
Added Depayloaders to valid list of autopluggable elements.
Original commit message from CVS:
* gst/playback/gstplaybin.c: (gst_play_bin_class_init),
(gst_play_bin_vis_blocked), (gst_play_bin_set_property),
(gen_video_element), (gen_text_element), (gen_audio_element),
(gen_vis_element), (remove_sinks), (add_sink), (setup_sinks),
(gst_play_bin_set_clock_func), (gst_play_bin_change_state):
Detect NO_PREROLL state change returns and disable clock distribution to
the sinks so that sync is disabled.
Avoid some type checking and do simple casts instead.
Small cleanups, fix some FIXMEs.
Be more robust when linking user specified elements, catch an report
errors. Fixes#357404.
Fix some leaks in the error paths.
Original commit message from CVS:
Patch by: Peter Kjellerstedt <pkj at axis com>
* gst/playback/test.c:
Fix compilation with uClibc and -Werror (#357591).
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c: (make_lossless_changes),
(gst_audio_convert_transform_caps):
* gst/videotestsrc/videotestsrc.c: (gst_video_test_src_unicolor):
* gst/videotestsrc/videotestsrc.h:
A few array const-ifications.
Original commit message from CVS:
Patch by: Young-Ho Cha <ganadist at chollian dot net>
* gst/subparse/samiparse.c: (handle_start_font),
(fix_invalid_entities):
More case-insensitivity for certain tags; recognise entities with
decimal codes as special entities as well (#357330).
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (gen_preroll_element):
Improve buffering a bit by avoiding a deadlock because we cannot assume
the underrun is always called.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (group_commit),
(queue_deadlock_check), (queue_overrun), (queue_threshold_reached),
(queue_out_of_data), (gen_preroll_element),
(preroll_remove_overrun), (probe_triggered):
Refactor handling of overrun detection.
Separate handling of group completion and deadlock detection when doing
network buffering. This should fix some deadlocks that were not detected
because the group was completed.
Add more comments, improve debugging.
Original commit message from CVS:
* gst/tcp/gstmultifdsink.c: (gst_sync_method_get_type),
(gst_multi_fd_sink_class_init), (get_buffers_max), (find_limits),
(gst_multi_fd_sink_recover_client),
(gst_multi_fd_sink_queue_buffer), (gst_multi_fd_sink_set_property),
(gst_multi_fd_sink_get_property):
* gst/tcp/gstmultifdsink.h:
Implement stubbed out properties unit-type, units-soft-max,
units-max, to allow specifying maximum sizes in units other than
buffers.
Fixes#355935
Original commit message from CVS:
* gst/videotestsrc/gstvideotestsrc.c:
Use G_UNLIKELY in _create and log one more detail.
(gst_video_test_src_get_times), (gst_video_test_src_create):
* sys/ximage/ximagesink.c: (gst_ximagesink_get_times):
Use gst_util_uint64_scale_int in _get_times().
Original commit message from CVS:
* gst/tcp/gstmultifdsink.c: (gst_sync_method_get_type),
(gst_multi_fd_sink_class_init):
Updates, fixes, and typo corrections for multifdsink. No functional
changes.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (ogganx_type_find):
Don't crash on truncated files - check that we got an 8 byte buffer
before trying to memcmp it.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (get_active_source):
Make stream-switching appear instant to the application
(ie. make sure that a g_object_get on 'current-foo' returns
the stream previously set with g_object_set(). Totem needs
this to update stream-related meta-info (like audio-codec)
correctly when switching streams.
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c: (set_structure_widths),
(gst_audio_convert_transform_caps):
Get structure-name just once.
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfssrc.c:
Add docs about icydemux usage in connection with gnomevfssrc
* ext/libvisual/visual.c:
* ext/ogg/gstoggaviparse.c:
* ext/ogg/gstoggdemux.c:
* ext/ogg/gstoggmux.c:
* ext/ogg/gstoggparse.c:
* gst-libs/gst/audio/gstaudiofiltertemplate.c:
* gst-libs/gst/audio/gstaudiosink.c:
* gst-libs/gst/audio/gstaudiosrc.c:
* gst/audiorate/gstaudiorate.c:
More G_OBJECT macro fixing.
* gst/audiotestsrc/gstaudiotestsrc.h:
Fix wrong info in header due to copy & paste
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init),
(gst_play_base_bin_init), (fill_buffer), (check_queue),
(queue_threshold_reached), (gst_play_base_bin_set_property),
(gst_play_base_bin_get_property):
* gst/playback/gstplaybasebin.h:
Don't use a 0 low watermark when buffering, it is catching starvation
way too late. Instead, use a 3 second queue with 30 and 95
percent low/high watermarks.
Added queue-min-threshold property to configure low watermark.
Use new _buffering message API.
Make queue_threshold variable big enough to store a uint64 time value.
API: playbin::queue-min-threshold property.
Original commit message from CVS:
patch by: Michael Smith <msmith at fluendo dot com>
* gst/tcp/gstmultifdsink.c: (is_sync_frame),
(gst_multi_fd_sink_client_queue_buffer),
(gst_multi_fd_sink_new_client):
* tests/check/elements/multifdsink.c: (GST_START_TEST),
(multifdsink_suite):
Fix implementation of sync-method 'next-keyframe'
Original commit message from CVS:
* gst/videotestsrc/videotestsrc.c: (paintinfo_find_by_structure),
(paint_get_structure), (gst_video_test_src_get_size),
(gst_video_test_src_smpte), (gst_video_test_src_snow),
(gst_video_test_src_unicolor), (paint_setup_AYUV),
(paint_hline_AYUV), (paint_setup_ARGB8888), (paint_setup_ABGR8888),
(paint_setup_RGBA8888), (paint_setup_BGRA8888), (paint_hline_str4):
* gst/videotestsrc/videotestsrc.h:
Add support for AYUV and the various RGBA formats. Initialise
fields of paintinfo structs allocated on the stack.
* tests/check/elements/videotestsrc.c: (right_shift_colour),
(fix_expected_colour), (check_rgb_buf), (got_buf_cb),
(GST_START_TEST), (videotestsrc_suite):
Add unit tests for videotestsrc's RGB output.
Original commit message from CVS:
* gst/adder/gstadder.c: (forward_event_func),
(gst_adder_src_event), (gst_adder_collected),
(gst_adder_change_state):
* gst/adder/gstadder.h:
Remember the start position asked in the incoming seeks, so we can
output GST_EVENT_NEW_SEGMENT with a correct position value (instead
of assuming it will always be 0).
Original commit message from CVS:
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
(gst_ffmpegcsp_get_unit_size):
Return FALSE instead of returning a random false unit
size when the format isn't known/supported (even if
this shouldn't happen under normal circumstances).
Original commit message from CVS:
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_chain):
Don't rely on incoming buffers offset anymore, since it is completely
broken when using multiple segments.
Instead convert the incoming buffers timestamp to running time, and
then convert that value to the offsets.
Also inform GstSegment of the last outputted stop position, which is
needed if we received several segments with an unknown stop value.
Original commit message from CVS:
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_sink_event),
(gst_audio_rate_chain):
Make the metadata of the buffer writable before changing its
flags.
Original commit message from CVS:
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_reset),
(gst_audio_rate_setcaps), (gst_audio_rate_init),
(gst_audio_rate_sink_event), (gst_audio_rate_src_event),
(gst_audio_rate_chain), (gst_audio_rate_change_state):
Fix audiorate some more.
Reset and resync counters on flush and READY.
Handle the DISCONT flag correctly.
Use GstSegment to track position.
Fail when not negotiated.
Original commit message from CVS:
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_render):
Small cleanups.
If a buffer is received with no caps, make the buffer metadata
writable and set the caps, making sure that we don't screw up the
refcounts.
Original commit message from CVS:
* gst/gdp/gstgdppay.c: (gst_gdp_pay_reset),
(gst_gdp_pay_reset_streamheader), (gst_gdp_pay_chain):
Fix memory leaks and misleading debug messages, add a couple of
comments.
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_get_stats),
(gst_multi_fd_sink_render):
Do not use gst_buffer_make_writable() in a basesink render method,
as it may incorrectly unref the buffer. Instead, use convoluted
dance to avoid copying the buffer except when we need to.
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_get_unit_size), (set_structure_widths):
Lower debug, use g_assert in _get_unit_size
* gst/audioresample/gstaudioresample.c:
(audioresample_get_unit_size):
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
(gst_ffmpegcsp_get_unit_size):
* gst/videoscale/gstvideoscale.c: (gst_video_scale_get_unit_size):
use g_assert in _get_unit_size
Original commit message from CVS:
* gst/playback/gstplaybin.c: (gst_play_bin_class_init),
(gst_play_bin_set_property), (gst_play_bin_get_property),
(value_list_append_structure_list),
(gst_play_bin_handle_redirect_message),
(gst_play_bin_handle_message):
Add "connection-speed" property; re-order redirect messages with
multiple redirect locations depending on the minimum bitrate if
that information is available and a connection speed is set
(#350399).
Original commit message from CVS:
2006-08-11 Andy Wingo <wingo@pobox.com>
* gst/tcp/gsttcp.h: For now, always disable deprecation here --
fixes the build.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (mpeg2_sys_type_find):
The checks here are not even close to anything that would
justify MAXIMUM probability, lowering to POSSIBLE until someone
fixes the checks (case at hand: quicktime redirection files
might start with 00 00 01 XX and pass the checks here just
fine, see #350399).
Original commit message from CVS:
Patch by: Sjoerd Simons <sjoerd at luon net>
* gst/typefind/gsttypefindfunctions.c: (multipart_type_find):
Better detection for multipart/x-mixed-replace: accept leading
whitespaces before the boundary marker as well (as our very own
multipartmux used to produce) (#349068).
Original commit message from CVS:
2006-08-04 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* gst/gdp/gstgdpdepay.c: (gst_gdp_depay_chain):
Fix event parsing by gdpdepay. Fixes#349916.
Original commit message from CVS:
Patch by: Jens Granseuer <jensgr at gmx net>
* gst/typefind/gsttypefindfunctions.c: (plugin_init):
Add typefinder for Interplay's MVE format (#348973).
Original commit message from CVS:
* gst/gdp/gstgdpdepay.c: (gst_gdp_depay_init),
(gst_gdp_depay_sink_event), (gst_gdp_depay_chain):
Consume all events except EOS because we generate events from
the gdp payload instead. Fixes#349204
Original commit message from CVS:
* gst/audioresample/gstaudioresample.c: (audioresample_stop),
(audioresample_set_caps):
Don't leak references to the incoming caps. Clean them up when
stopping.
* gst/videoscale/gstvideoscale.c: (gst_video_scale_class_init),
(gst_video_scale_finalize):
Don't leak our temporary pixel buffer.
* tests/check/Makefile.am:
* tests/check/pipelines/simple-launch-lines.c: (run_pipeline),
(GST_START_TEST), (simple_launch_lines_suite):
Fix leaks and re-enable the test for valgrind checking.
Original commit message from CVS:
Patch by: Sjoerd Simons <sjoerd at luon net>
* gst/typefind/gsttypefindfunctions.c: (multipart_type_find),
(plugin_init):
Add typefind function for multipart/x-mixed-replace (#348916).
Original commit message from CVS:
* gst/adder/gstadder.c: (gst_adder_setcaps),
(gst_adder_query_duration):
Fix leak in duration query.
Reflow some docs and notes.
Original commit message from CVS:
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_add_full),
(gst_multi_fd_sink_new_client):
debug a little more understandably
do not use goto as a substitute for break, especially if
break is also being used
Original commit message from CVS:
* gst/gdp/gstgdpdepay.c: (gst_gdp_depay_init):
proxying get/set caps is the wrong thing to do, since we really
do change caps quite fundamentally
* tests/check/elements/gdpdepay.c:
* tests/check/elements/gdppay.c:
remove declaration of buffers, it's already done in gstcheck.h
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (xml_check_first_element):
Limit search for the first markup tag to the first few kB of
the file. If we don't find one there, it's highly unlikely that
this is an XML(-ish) file.
Original commit message from CVS:
* gst/playback/test.c: (gen_video_element), (gen_audio_element),
(cb_newpad), (main):
Example of a small audio/video player using decodebin.
Original commit message from CVS:
2006-07-17 Thomas Vander Stichele <thomas at apestaart dot org>
* gst/gdp/gstgdpdepay.c: (gst_gdp_depay_class_init):
* gst/gdp/gstgdppay.c: (gst_gdp_pay_class_init),
remove parent_class setting, BOILERPLATE does this
(gst_gdp_pay_reset_streamheader):
fix typo in comment
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:
add more plugins and elements to docs
* gst/gdp/gstgdpdepay.c: (gst_gdp_depay_chain):
fix segfaults due to wrong g_free
add example
* gst/gdp/gstgdppay.c:
add example
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (find_compatibles):
Fix a caps leak when linking (#347304)
* sys/ximage/ximagesink.c: (gst_ximage_buffer_finalize),
(gst_ximagesink_ximage_destroy), (gst_ximagesink_xcontext_clear),
(gst_ximagesink_change_state):
* sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_destroy),
(gst_xvimage_buffer_finalize), (gst_xvimagesink_check_xshm_calls),
(gst_xvimagesink_xvimage_new), (gst_xvimagesink_xvimage_put),
(gst_xvimagesink_xcontext_clear), (gst_xvimagesink_change_state):
Don't leak shared memory resources. Use the object lock to protect
against the xcontext disappearing while returning a buffer from the
pipeline. (#347304)
Original commit message from CVS:
* gst/subparse/gstssaparse.c: (gst_ssa_parse_base_init),
(gst_ssa_parse_parse_line):
Don't include the terminating NUL in the buffer size,
it's only there for extra paranoia (would add random
'*' characters at the end of each subtitle since the
terminator itself is not valid UTF-8 technically).
Also fix indenting after boilerplate macro.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (close_pad_link):
Also emit 'unknown-type' signal (which should really be
called unhandled-type) if we found potential decoders/demuxers
in the registry but none of them worked in the end (as in the
case where the plugins don't exist any longer but are still
listed in the registry). Fixes#329798.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (utf8_type_find),
(xml_check_first_element), (xml_type_find), (smil_type_find):
Fix SMIL typefinding, make xml_check_first_element() more
useful.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_init),
(gst_play_base_bin_finalize), (decodebin_element_added_cb),
(decodebin_element_removed_cb), (gst_play_base_bin_set_property):
* gst/playback/gstplaybasebin.h:
Protect list of elements with a subtitle-encoding property and
the subtitle encoding member itself with a lock of their own
instead of using the object lock. This prevents a dead-lock in
the element-remove callback in some circumstances when shutting
down playbin.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (is_stream), (gen_source_element):
Improve checking if we are dealing with a stream. Added some
more uris that need buffering.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (gst_decode_bin_class_init),
(gst_decode_bin_init), (gst_decode_bin_finalize), (add_fakesink),
(remove_fakesink), (pad_probe), (gst_decode_bin_change_state):
Protect remove_fakesink using a mutex, so that we don't try and
remove the fakesink simultaneously from multiple threads.
When going from READY to PAUSED, restore the fakesink, so that
it is there when decodebin gets reused.
Original commit message from CVS:
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init):
Fix warnings with gst-inspect: "buffers-min" property
should be of G_TYPE_INT and not G_TYPE_INT64. Also fix
typo in property description.
Original commit message from CVS:
Patch by: Philip Jaegenstedt <philip at lysator dot liu dot se>
* gst/videoscale/gstvideoscale.c: (gst_video_scale_prepare_size),
(gst_video_scale_transform):
Make videoscale support RGBA, ARGB, BGRA and ABGR. Fixes#345131
Original commit message from CVS:
* gst/audioresample/gstaudioresample.c:
(gst_audioresample_class_init), (gst_audioresample_init),
(audioresample_start), (audioresample_stop),
(gst_audioresample_set_property), (gst_audioresample_get_property):
Implement GstBaseTransform::start and ::stop so that audioresample
can clear its internal state properly and be reused insted of
causing non-negotiated errors with playbin under some circumstances
(#342789).
* tests/check/elements/audioresample.c: (setup_audioresample),
(cleanup_audioresample):
Need to set element state here so that ::start and ::stop are
called.
Original commit message from CVS:
* gst/playback/gststreaminfo.c: (cb_probe):
Try GST_TAG_CODEC as fallback when extracting the
codec name; more debug info.
Original commit message from CVS:
Patch by: Young-Ho Cha <ganadist at chollian net>
* gst/subparse/samiparse.c: (sami_context_pop_state),
(handle_start_font), (end_sami_element):
Honour font face tags in SAMI subtitles (#344503).
Original commit message from CVS:
Patch by: Young-Ho Cha <ganadist at chollian net>
* gst/subparse/samiparse.c: (fix_invalid_entities), (parse_sami):
Fix up broken entities before passing them to libxml *sigh*.
(#343303).
Original commit message from CVS:
* configure.ac:
enable building of GDP elements
* gst/gdp/gstgdpdepay.c: (gst_gdp_depay_chain):
* gst/gdp/gstgdppay.c: (gst_gdp_pay_class_init),
(gst_gdp_pay_init), (gst_gdp_buffer_from_caps),
(gst_gdp_pay_buffer_from_buffer), (gst_gdp_buffer_from_event),
(gst_gdp_pay_reset_streamheader), (gst_gdp_pay_sink_event),
(gst_gdp_pay_set_property), (gst_gdp_pay_get_property),
(gst_gdp_pay_change_state):
* gst/gdp/gstgdppay.h:
add version 1.0
Original commit message from CVS:
* gst/tcp/README:
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_init),
(gst_multi_fd_sink_remove_client_link),
(gst_multi_fd_sink_client_queue_caps),
(gst_multi_fd_sink_client_queue_buffer),
(gst_multi_fd_sink_handle_client_write),
(gst_multi_fd_sink_render):
* gst/tcp/gstmultifdsink.h:
make multifdsink properly deal with streamheader:
- streamheader is taken from caps
- buffers marked with IN_CAPS are not sent
- streamheaders are sent, on connection, from the caps of the
buffer where the client gets positioned to
- further streamheader changes are done every time the client
will receive a buffer with different caps
* tests/check/elements/multifdsink.c: (GST_START_TEST),
(gst_multifdsink_create_streamheader):
add tests for this
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (group_create), (group_commit),
(setup_source):
* gst/playback/gstplaybasebin.h:
Make the subtitle detection work from any thread so we don't
deadlock. Fixes#343397.
Original commit message from CVS:
* gst/gdp/gstgdppay.c: (gst_gdp_pay_class_init),
(gst_gdp_pay_init), (gst_gdp_buffer_from_caps),
(gst_gdp_pay_buffer_from_buffer), (gst_gdp_buffer_from_event),
(gst_gdp_pay_reset_streamheader), (gst_gdp_pay_chain),
(gst_gdp_pay_sink_event), (gst_gdp_pay_set_property),
(gst_gdp_pay_get_property):
add crc-header and crc-payload properties
don't error out on some things that are recoverable
* tests/check/elements/gdppay.c: (GST_START_TEST), (gdppay_suite):
add test for crc
Original commit message from CVS:
* gst/volume/Makefile.am:
Seriously, it's not *that* hard to get compilation right. Even
a drunk can do it ! Add LIBOIL CFLAGS and LIBS
Original commit message from CVS:
* gst/volume/gstvolume.c: (volume_choose_func),
(volume_update_real_volume), (gst_volume_class_init),
(gst_volume_init), (volume_process_float), (volume_process_int16),
(volume_process_int16_clamp), (volume_set_caps),
(volume_transform_ip), (plugin_init):
* gst/volume/gstvolume.h:
rewrite the passthrough check, split _int16 and _int16_clamp, fix
another property desc., remove unused param from process function
* tests/check/elements/volume.c: (volume_suite):
reactivate the passthrough test
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (gen_source_element):
Throw a more comprehensible error for rtsp:// URIs (rather
than erroring out with a negotiation error later on) until
we fix playbin to handle rtspsrc etc.
Original commit message from CVS:
Patch by: Young-Ho Cha <ganadist at chollian net>
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init),
(gst_play_base_bin_init), (gst_play_base_bin_dispose),
(set_encoding_element), (decodebin_element_added_cb),
(decodebin_element_removed_cb), (setup_subtitle), (setup_source),
(gst_play_base_bin_set_property), (gst_play_base_bin_get_property):
* gst/playback/gstplaybasebin.h:
Add 'subtitle-encoding' property to playbin, so applications can
force a subtitle encoding for non-UTF8 subtitles (#342268).
* gst/subparse/gstsubparse.c: (gst_sub_parse_class_init),
(gst_sub_parse_set_property):
Rename recently-added 'encoding' property to 'subtitle-encoding'
(so it can be proxied by playbin/decodebin in a generic way
with less danger of false positives).
Original commit message from CVS:
* gst/audioconvert/gstaudioconvert.c: (make_lossless_changes),
(append_with_other_format), (set_structure_widths),
(gst_audio_convert_transform_caps):
Patch from #341562: give more specific audio caps in get_caps, so
that basetransform can make better decisions on what caps to
negotiate.
Original commit message from CVS:
* gst/adder/gstadder.c: (gst_adder_get_type):
Make it easier to copy&paste
* gst/volume/Makefile.am:
* gst/volume/gstvolume.c: (volume_update_real_volume),
(gst_volume_set_volume), (gst_volume_set_mute),
(gst_volume_class_init), (volume_process_int16), (volume_set_caps),
(volume_transform_ip), (volume_update_mute),
(volume_update_volume):
* gst/volume/gstvolume.h:
Add own debug category, move duplicate code to helper function, fix
property texts, add more comments and prepare ffor liboil-goodness
* tests/check/Makefile.am:
* tests/check/elements/volume.c: (GST_START_TEST), (volume_suite):
add test for mute and passtrough case, be a bit more verbose to track
failure
* tests/check/generic/states.c: (GST_START_TEST):
catch elements that fail to instantiate
Original commit message from CVS:
* gst/ffmpegcolorspace/gstffmpegcodecmap.c:
(gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_smpfmt_to_caps):
Marking caps conversion issues as GST_WARNING is way too verbose,
Moving them to GST_LOG.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (remove_fakesink), (pad_probe):
When there is only one unfinished pad and it receives an event that
doesn't match our requirements, we need to set alldone=FALSE so that
the fakesink is not removed yet.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (qt_type_find):
Added the 'prfl' atom type which MQV (no, it's not a typo) files contain.
Else they play perfectly fine with qtdemux.
Original commit message from CVS:
* ext/theora/theoradec.c:
* ext/theora/theoraenc.c:
* ext/theora/theoraparse.c: (gst_theora_parse_class_init):
* gst/audiorate/gstaudiorate.c:
make more debug catagories static
* tests/check/Makefile.am:
* tests/check/elements/adder.c: (message_received),
(test_event_message_received), (GST_START_TEST),
(test_play_twice_message_received), (adder_suite):
added test case for using element twice, extra bonus points for anyone
who can make these test run reliably
Original commit message from CVS:
Patch by: Peter Kjellerstedt <pkj at axis com>
* gst/tcp/Makefile.am:
fdstresstest doesn't need Gtk+, fix compilation if
gtk is not available (#342566).
Original commit message from CVS:
* gst/videoscale/gstvideoscale.c: (gst_video_scale_fixate_caps):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_setcaps):
Use the gstutil scaling function to preserve 64 bits while calculating
output width and height from the display-aspect-ratio. (A continuation
of #341542)
Original commit message from CVS:
Patch by: Young-Ho Cha <ganadist chollian net>
* gst/subparse/gstsubparse.c: (gst_sub_parse_dispose),
(gst_sub_parse_class_init), (gst_sub_parse_init),
(gst_sub_parse_set_property), (gst_sub_parse_get_property),
(convert_encoding):
* gst/subparse/gstsubparse.h:
Add 'encoding' property (#341681).
* gst/subparse/samiparse.c: (characters_sami):
Output is pango markup, so we need to escape text
between tags (#342143).
Original commit message from CVS:
2006-05-16 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* gst/tcp/gsttcp.c: (gst_tcp_socket_read):
Return GST_FLOW_UNEXPECTED when we have an eos on the socket so
basesrc can do its job correctly.
Original commit message from CVS:
2006-05-15 Julien MOUTTE <julien@moutte.net>
* gst/playback/gstdecodebin.c: (cleanup_decodebin),
(gst_decode_bin_change_state): Make decodebin reusable
when going from PAUSE_TO_READY and then back to PAUSED.
Fixes#331678.
Original commit message from CVS:
* gst/subparse/gstsubparse.c:
(gst_sub_parse_data_format_autodetect):
Don't use libxml functions in the typefinding code.
Original commit message from CVS:
* gst/subparse/gstsubparse.c:
(gst_sub_parse_data_format_autodetect):
Improve SAMI typefinding: handle case where there are
whitespaces or newlines in front of the first <SAMI>
tag (#169936).
Original commit message from CVS:
Patch by: Young-Ho Cha <ganadist at chollian net>
* gst/subparse/samiparse.c: (handle_start_font):
Need to map "silver" colour explicitly (#169936).
Original commit message from CVS:
* gst/audioconvert/gstchannelmix.c: (gst_channel_mix_fill_others):
Fix#341696: crash when mixing L+R+C to mono or stereo.
* tests/check/Makefile.am:
* tests/check/elements/audioconvert.c: (set_channel_positions),
(get_float_mc_caps), (get_int_mc_caps), (GST_START_TEST),
(audioconvert_suite):
Add test for the above, including some generic framework bits for
testing multichannel things.
Original commit message from CVS:
* gst/videoscale/gstvideoscale.c: (gst_video_scale_fixate_caps):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_setcaps):
Fix the build.
Original commit message from CVS:
2006-05-11 Thomas Vander Stichele <thomas at apestaart dot org>
patch by: Sjoerd Simons (sjoerd@luon.net)
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_class_init),
(group_create), (group_destroy), (add_stream),
(gst_play_base_bin_get_property),
(gst_play_base_bin_get_streaminfo_value_array):
* gst/playback/gstplaybasebin.h:
API: GstPlayBaseBin::stream-info-value-array property
use a more bindings-friendly way of exposing streaminfo
using a GValueArray. Tested in ipython.
Closes#341114
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (try_to_link_1), (queue_enlarge),
(queue_underrun_cb), (queue_filled_cb):
Also catch queue underruns but don't do anything yet.
Refactor and comment queue enlarging code a bit.
* gst/playback/gstplaybasebin.c: (queue_overrun),
(queue_threshold_reached), (queue_out_of_data),
(gen_preroll_element):
If a queue over/underruns check that we don't create nasty
deadlocks when the min-threshold is not reached but the
max-bytes is. In those cases disable max-bytes when we
know that the queue is fed timed data.
Add more comments.
Original commit message from CVS:
* gst/playback/gstplaybin.c: (gen_audio_element):
Make playbin automatically plug an 'audioresample'
element before the audio sink as well. This solves
problems with sinks that only accept a very specific
sample rate, like esdsink (e.g. #340379).
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (gen_source_element):
Make http sources send special headers so that we receive
icecast metadata if the http stream is an icecast stream
(otherwise the server will just ignore them). This also
means that from now on users will need the 'icydemux'
element from gst-plugins-good installed if they want to
listen to icecast radio streams. (#341432, #333657).
Original commit message from CVS:
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_remove_client_link),
(gst_multi_fd_sink_new_client), (gst_multi_fd_sink_stop):
remove stupid example from docs - it should come with a simple
C program instead.
Clean up/fix docs
* tests/check/elements/multifdsink.c: (wait_bytes_served),
(fail_if_can_read), (GST_START_TEST),
(gst_multifdsink_create_streamheader), (multifdsink_suite):
add a test for changing streamheader which exposes a bug in
multifdsink
Original commit message from CVS:
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_stop):
clean up the bufqueue when shutting down
* tests/check/Makefile.am:
* tests/check/elements/multifdsink.c: (setup_multifdsink),
(cleanup_multifdsink), (GST_START_TEST), (multifdsink_suite),
(main):
add a test for the leak that was just fixed
Original commit message from CVS:
* gst/adder/gstadder.c: (gst_adder_setcaps),
(gst_adder_query_duration), (gst_adder_query), (forward_event),
(gst_adder_src_event), (gst_adder_sink_event),
(gst_adder_class_init), (gst_adder_finalize),
(gst_adder_request_new_pad), (gst_adder_collected):
* gst/adder/gstadder.h:
Updated some docs. Added comments and FIXMEs all over the place.
Improve debugging info.
Fix leak on finalize by not calling the parent.
Implement duration query.
Make event forwarding threadsafe.
Correctly send NEWSEGMENT at start and after flush.
Handle EOS correctly.
Post error when not negotiated.
* tests/check/elements/adder.c: (GST_START_TEST):
Added FIXME in the test.
Original commit message from CVS:
Patch by: Sjoerd Simons <sjoerd at luon net>
* gst/tcp/gstmultifdsink.c: (gst_client_status_get_type):
Register nick for enum value (#341160).
Original commit message from CVS:
* gst/adder/gstadder.c: (gst_adder_request_new_pad),
(gst_adder_collected):
* gst/adder/gstadder.h:
Remove bogus segment merging and forwarding, we don't
care about timestamps anyway and we just produce a
continuous stream.
Also create a nice NEWSEGMENT event when we start.
Use _scale_int some more.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (mp4_find_box),
(mp4_type_find), (plugin_init):
Add typefind to distinguish between "audio/x-m4a" and new type
"video/mp4". Fixes#340375
* tests/check/elements/adder.c: (adder_suite):
Raise timeout to make buildbot happy
Original commit message from CVS:
* gst/adder/gstadder.c: (gst_adder_sink_event),
(gst_adder_request_new_pad), (gst_adder_change_state):
* gst/adder/gstadder.h:
* tests/check/Makefile.am:
* tests/check/elements/adder.c: (event_loop), (GST_START_TEST),
(adder_suite), (main):
Add sink-event handling to adder. It tries to merge incomming
newsegment-events. Added test to check if segment_done is comming
through.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (mpeg2_sys_type_find),
(mpeg1_sys_type_find), (ogganx_type_find), (sw_data_destroy):
Rearrange MPEG system stream detection, fixing some memleaks in the
process.
Constify the data for STARTS_WITH and RIFF helper handlers. Make sure
they clean up their data correctly.
Remove unused ogganx caps and move the 'is_annodex' check to inside
the 'is_ogg' if statement.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (mp3_type_find_at_offset),
(mpeg_ts_probe_headers), (mpeg_ts_type_find):
When typefinding an MP3 in push-based mode, don't penalise the
probability down to 74% when we found 5 valid frames just because we
can't peek the end of the file.
Make the probability for detecting MPEG Transport Streams based on the
number of sequential headers we successfully detected.
Original commit message from CVS:
* gst/volume/gstvolume.c: (volume_funcfind), (volume_set_caps),
(volume_transform_ip):
Increase "volume" property to 10.0. Fixes#340369.
Set the process function to NULL when capsnego fails so that
we properly error out.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (musepack_type_find),
(plugin_init):
Refine musepack typefinding a bit. Return MAXIMUM
probability when we detect stream version 7 to make
sure the mpeg audio typefinder doesn't trump us.
Original commit message from CVS:
* gst/adder/gstadder.c: (gst_adder_setcaps), (gst_adder_src_event),
(gst_adder_init):
send events from src-pad to all sink-pads fixes#338657
Original commit message from CVS:
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_class_init),
(gst_multi_fd_sink_remove_client_link):
* gst/tcp/gstmultifdsink.h:
Fix race condition in multifdsink that can lead to spurious
duplicate clients. this patch adds a new signal that is fired when
multifdsink has removed all references to the fd.
Fixes#339574.
Updated documentation.
API: client-fd-removed signal added
Original commit message from CVS:
* gst/tcp/gstmultifdsink.c: (gst_multi_fd_sink_get_stats):
When asking g_value_array_new to prealloc elements, we may as well
ask for the right number of elements.
Original commit message from CVS:
* gst/videorate/gstvideorate.c: (gst_video_rate_reset),
(gst_video_rate_swap_prev), (gst_video_rate_chain):
fix up docs
fix a leak when no caps negotiated
fix counting of input frames
* tests/check/elements/.cvsignore:
* tests/check/elements/videorate.c: (assert_videorate_stats),
(GST_START_TEST), (videorate_suite):
add tests for these
Original commit message from CVS:
* gst/audioresample/gstaudioresample.c: (gst_audioresample_init),
(resample_set_state_from_caps):
Add support for other formats audioresample can handle such as
32 bits in and float and 64 bits float. Fixes#301759
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (wavpack_type_find):
Fix wavpack typefinding to work in more cases (don't peek
for chunks of multiple hundred kBs at once, but process
things step-by-step in smaller units). Fixes#339786.
Original commit message from CVS:
Patch by: Edward Hervey <edward@fluendo.com>
* gst/videorate/gstvideorate.c: (gst_video_rate_chain):
* tests/check/Makefile.am:
* tests/check/elements/videorate.c: (assert_videorate_stats),
(setup_videorate), (cleanup_videorate), (GST_START_TEST),
(videorate_suite), (main):
Fix an infinite loop if frames are passed in with wrongly ordered
timestamps. Fixes#339013.
Original commit message from CVS:
Patch by: Tim-Philipp Müller <tim at centricular dot net>
* gst/typefind/gsttypefindfunctions.c: (qt_type_find):
fix typefinding on some ISO files. Fixes#339212.
Original commit message from CVS:
Patch by: Jan Schmidt
* gst/playback/gststreamselector.c:
(gst_stream_selector_bufferalloc):
Restore old StreamSelector behaviour.
Fixes#338419.
Original commit message from CVS:
* gst/audioresample/debug.h:
replace debug macros with variable number of parameters
by a simple alias to gstreamer standard debug macros
(#define RESAMPLE_ERROR GST_ERROR, __VA_ARGS__ is not
supported by MSVC 6.0 and 7.1)
* gst/audioresample/resample.h:
define M_PI and rint for WIN32
* win32/common/libgstaudio.def:
* win32/common/libgstriff.def:
* win32/common/libgsttag.def:
* win32/common/libgstvideo.def:
add new exported functions
* win32/vs6:
update project files
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (group_destroy):
Clean up our group elements properly in the case where it never
got committed - it still got added unconditionally to the bin.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (mute_stream), (setup_substreams):
Don't remove our mute-probe if someone else already did so.
Don't set a 2nd one if there is already one pending on the pad.
* gst/playback/gstplaybin.c: (gst_play_bin_send_event_to_sink),
(do_playbin_seek):
When a seek fails, ensure that playbin is still set back to playing.
* gst/typefind/gsttypefindfunctions.c: (mpeg_ts_probe_headers),
(mpeg_ts_type_find), (plugin_init):
Add a typefind function for mpeg-ts streams.
Original commit message from CVS:
2006-04-06 Andy Wingo <wingo@pobox.com>
* gst/videorate/gstvideorate.c (gst_video_rate_reset)
(gst_video_rate_init): Caps-related parameters should not be reset
by a flush -- move their inits to the instance init function.
(gst_video_rate_flush_prev): Don't complain if gst_pad_push
is not OK, just return the result.
* gst/audiotestsrc/gstaudiotestsrc.c
(gst_audio_test_src_class_init)
(gst_audio_test_src_get_times): Re-enable is-live=true, as was
broken by Stefan's commit on 24 March.
Original commit message from CVS:
2006-04-04 Andy Wingo <wingo@pobox.com>
* gst/videorate/gstvideorate.c (gst_video_rate_flush_prev):
Whoops, fix bug introduced. Bad hacker!
Original commit message from CVS:
2006-04-04 Andy Wingo <wingo@pobox.com>
* gst/videorate/gstvideorate.c (gst_video_rate_flush_prev):
Properly handle the case where you get EOS before any buffers are
received. Use gst_buffer_make_metadata_writable where appropriate.
Original commit message from CVS:
* gst/playback/gstplaybin.c: (gen_video_element),
(gen_text_element), (gen_audio_element), (gen_vis_element):
Error out gracefully when we can't create any of the usual
conversion elements for some reason. Also, don't try to
create an audioscale (sic) element that's not used anyway.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (setup_source):
Don't post RESOURCE_NOT_FOUND error when we can't find a source
element for a particular protocol, that's confusing for users.
Instead, post a RESOURCE_FAILED error, so that our own error
message is actually shown in totem etc. (#336303).
Original commit message from CVS:
* gst/subparse/gstsubparse.c: (convert_encoding),
(gst_sub_parse_change_state):
* gst/subparse/gstsubparse.h:
Text subtitle files may or may not be UTF-8. If it's not, we
don't really want to see '?' characters in place of non-ASCII
characters like accented characters. So let's assume the input
is UTF-8 until we come across text that is clearly not. If it's
not UTF-8, we don't really know what it is, so try the following:
(a) see whether the GST_SUBTITLE_ENCODING environment variable
is set; if not, check (b) if the current locale encoding is
non-UTF-8 and use that if it is, or (c) assume ISO-8859-15 if
the current locale encoding is UTF-8 and the environment variable
was not set to any particular encoding. Not perfect, but better
than nothing (and better than before, I think) (fixes#172848).
Original commit message from CVS:
* ext/ogg/gstoggmux.c: (gst_ogg_mux_init):
* gst/adder/gstadder.c: (gst_adder_init):
use DEBUG_FUNCPTR for collectpads
Original commit message from CVS:
Patch by: Julien MOUTTE <julien at moutte dot net>
* gst/videotestsrc/gstvideotestsrc.c: (gst_video_test_src_query),
(gst_video_test_src_do_seek), (gst_video_test_src_create):
Partially handle 0 framerate, only EOS after the first frame
is missing.
Original commit message from CVS:
Patch by: Fabrizio Gennari <fabrizio dot ge at tiscali dot it>
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps),
(gst_riff_create_video_template_caps):
* gst/ffmpegcolorspace/avcodec.h:
* gst/ffmpegcolorspace/gstffmpegcodecmap.c:
(gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_caps_to_pixfmt),
(gst_ffmpegcsp_avpicture_fill):
* gst/ffmpegcolorspace/imgconvert.c:
Patch for support of YVU9 AVI files (#334822)
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (id3v2_type_find),
(id3v1_type_find), (apetag_type_find), (plugin_init):
Can't do tag preferences via probability, as tags would then
lose against types that are recognised with MAXIMUM probability
(like .wav); so let all tag typefinders return MAXIMUM themselves
and order them via the rank. Split ID3v1 and ID3v2 typefinders so
that we can prefer APE to ID3v1 (fixes#335028).
Original commit message from CVS:
* gst/playback/gststreamselector.c:
(gst_stream_selector_set_property),
(gst_stream_selector_bufferalloc):
Preserve the existing buggy streamselector behaviour by performing
a fallback buffer allocation when downstream isn't linked yet.
This should really be fixed in playbin by blocking pads until it's
linked them.
Also, use gst_pad_alloc_buffer instead of
gst_pad_alloc_buffer_and_set.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsasink_finalise):
Chain up to the parent finalize method.
Add 32-bit sample size to the template caps.
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps),
(gst_riff_create_video_template_caps):
Add the fourcc that the VMWare codec uses.
* gst/playback/gststreamselector.c:
(gst_stream_selector_set_property),
(gst_stream_selector_bufferalloc),
(gst_stream_selector_request_new_pad):
For the active pad, forward buffer-alloc requests, otherwise
return GST_FLOW_NOT_LINKED. This also prevents xvimagesink
having to memcpy every frame when used by playbin.
* gst/tcp/gstmultifdsink.c:
(gst_multi_fd_sink_handle_client_write):
Get negotiated caps from the sink pad, rather than the sink
pad's peer.
Original commit message from CVS:
Patch by: Sebastien Moutte <sebastien moutte net>
* gst/ffmpegcolorspace/gstffmpegcodecmap.c: (gst_ff_vid_caps_new),
(gst_ff_aud_caps_new), (gst_ffmpeg_pixfmt_to_caps),
(gst_ffmpeg_smpfmt_to_caps):
Replace __VA_ARGS__ caps creation macros with varargs functions.
Makes things compile on MSVC (#320765), looks nicer, and we can
tell the compiler to check for the NULL terminator.
Original commit message from CVS:
* gst-libs/gst/video/gstvideofilter.c: (gst_video_filter_init):
* gst-libs/gst/video/gstvideosink.c: (gst_video_sink_init):
* gst/ffmpegcolorspace/gstffmpegcolorspace.c: (gst_ffmpegcsp_init):
* gst/videoscale/gstvideoscale.c: (gst_video_scale_class_init),
(gst_video_scale_init), (gst_video_scale_src_event):
Re-enable QoS after the release.
Rework videoscale to use the base class src_event handler.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (plugin_init):
NULL-terminate array of mpeg4 video file extensions.
Fixes crash on PPC (#334226).
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (mp3_type_find_at_offset):
Fix invalid memory access to region before peek'd data (#332964).
Original commit message from CVS:
* gst/subparse/gstsubparse.c: (gst_subparse_type_find):
Fix invalid memory access: make sure string passed to
regexec() is NUL-termianted.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (mp3_type_find_at_offset),
(mp3_type_find):
Refactor mpeg/audio typefinding to make it more maintainable
and easier to fine-tune. Make probing into middle of the file
work properly (fixes#333900, also see #152688).
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c:
(utf8_type_find_have_valid_utf8_at_offset):
Remove part from previous commit that was bogus:
g_utf8_validate() does in fact not accept embedded
zeroes, so we don't need to check for those (thanks
to Mike for the hint).
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c:
(utf8_type_find_count_embedded_zeroes),
(utf8_type_find_have_valid_utf8_at_offset), (utf8_type_find):
Make plain/text typefinder more conservative: firstly, check
for embedded zeroes, which are perfectly valid UTF-8 characters,
but also a fairly good sign that something is not a plain text
file; secondly, probe into the middle of the file if possible.
If we can't probe into the middle, limit the probability value
to be returned to TYPE_FIND_POSSIBLE (see #333900).
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (plugin_init):
Give id3 and ape tag typefinders a rank slightly higher
than PRIMARY to ensure they're always run before any of
the other typefinders (in particular wav and mp3) (#324186).
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-docs.sgml:
* docs/libs/gst-plugins-base-libs-sections.txt:
* docs/libs/gst-plugins-base-libs.types:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-base-plugins-docs.sgml:
* docs/plugins/gst-plugins-base-plugins-sections.txt:
Added some more docs to libs and plugins.
* gst-libs/gst/audio/gstringbuffer.c:
(gst_ring_buffer_prepare_read), (gst_ring_buffer_clear):
* gst-libs/gst/audio/gstringbuffer.h:
Document ringbuffer some more.
* gst/videorate/gstvideorate.c: (gst_video_rate_class_init),
(gst_video_rate_setcaps), (gst_video_rate_reset),
(gst_video_rate_init), (gst_video_rate_flush_prev),
(gst_video_rate_swap_prev), (gst_video_rate_event),
(gst_video_rate_chain), (gst_video_rate_change_state):
* gst/videorate/gstvideorate.h:
Fix videorate to use segments.
Make it work with 0/1 framerates (closes#331903)
Handle EOS correctly.
Added docs.
Original commit message from CVS:
* docs/plugins/gst-plugins-base-plugins-docs.sgml:
* 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.signals:
Fix hierarchy, added some more elements to the docs.
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
(gst_ffmpegcsp_get_type):
* gst/ffmpegcolorspace/gstffmpegcolorspace.h:
Fix docs for ffmpegcolorspace.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (id3_type_find),
(apetag_type_find), (ape_type_find), (plugin_init):
Some typefinding fine-tuning:
- rank ID3/APE tags in order of preference via probabilities, so that
ID3v2 > APEv2 > APEv1 > ID3v1.
- three or four bytes don't really justify MAXIMUM probability,
change those to 'very likely' (musepack and monkeysaudio).
Original commit message from CVS:
* gst/audiotestsrc/gstaudiotestsrc.c:
added defines of M_PI and M_PI_2
* gst/ffmpegcolorspace/avcodec.h:
removed #include "stdint.h" for win32 as _stdint.h is
autogenerated to win32/common
* win32/common/libgstaudio.def:
* win32/common/libgsttag.def:
added some exports
* win32/vs6:
some project files bugs corrected
* win32/vs7:
project files are reset to the default vs7 configuration
(they link to msvcr71.dll using default optimizations)
Original commit message from CVS:
* gst/videoscale/vs_scanline.c:
(vs_scanline_resample_nearest_RGBA):
Revert optimization in videoscale. It should go in liboil and have
an appropriate liboil function.
Original commit message from CVS:
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
(gst_ffmpegcsp_transform):
Don't ignore return code from ffmpeg convert function.
* gst/ffmpegcolorspace/imgconvert.c: (img_convert):
Split out some long statements to ease debugging.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (mpeg4_video_type_find),
(cmml_type_find), (plugin_init):
Fix CMML type find function to not require a specific minor version
of the CMML header.
Add an MPEG4 video elementary stream typefind function.
Original commit message from CVS:
* gst/ffmpegcolorspace/gstffmpegcolorspace.c:
(gst_ffmpegcsp_caps_remove_format_info),
(gst_ffmpegcsp_get_unit_size):
The 'palette_data' field from incoming RGB caps shouldn't be
proxied on outgoing YUV caps; also, restrict unit size
adjustment in case of paletted data only to the unit that
actually has a palette. Fixes#330711.
Original commit message from CVS:
Reviewed by : Edward Hervey <edward@fluendo.com>
* gst/typefind/gsttypefindfunctions.c: (q3gp_type_find),
(qt_type_find):
Better 3gp typefinding.
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_create):
Don't send EOS event here, the base class will send one for us.
* gst/playback/gstplaybasebin.c: (prepare_output):
Subpictures without video stream aren't allowed either.
* gst/subparse/gstsubparse.c: (gst_subparse_type_find):
Fix debug statement copy'n'paste-o.
Original commit message from CVS:
* gst/subparse/gstsubparse.c: (subrip_unescape_formatting),
(parse_subrip), (gst_sub_parse_format_autodetect):
Set right caps given that we send escaped text. Also,
honour <i></i>, <b></b> and <u></u> markers that can be found
in .srt files (fixes#310202).
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (get_our_ghost_pad),
(remove_element_chain), (cleanup_decodebin),
(gst_decode_bin_change_state): Make decodebin reusable by
fixing remove_element_chain first and then introduce a
cleaner in state change to ->NULL. (Closes#331678)
------------------------------------------------------
Original commit message from CVS:
2006-02-19 Julien MOUTTE <julien@moutte.net>
* gst/playback/gstdecodebin.c: (mimetype_is_raw): pango layout
should be considered as row.
Original commit message from CVS:
2006-02-18 Julien MOUTTE <julien@moutte.net>
* ext/pango/gsttextoverlay.c: (gst_text_overlay_base_init),
(gst_text_overlay_finalize), (gst_text_overlay_init),
(gst_text_overlay_setcaps), (gst_text_overlay_src_event),
(gst_text_overlay_render_text),
(gst_text_overlay_text_pad_link),
(gst_text_overlay_text_pad_unlink),
(gst_text_overlay_text_event),
(gst_text_overlay_video_event), (gst_text_overlay_pop_text),
(gst_text_overlay_text_chain), (gst_text_overlay_video_chain),
(gst_text_overlay_change_state): Refactoring of textoverlay
without collectpads. This now supports sparse subtitles coming
from a demuxer instead of a sub file. Seeking is still broken
though. Need to discuss with wtay some more on how to handle
seeking correctly.
* ext/pango/gsttextoverlay.h:
* gst/playback/gstplaybin.c: (setup_sinks): Support linking with
subtitles coming from the demuxer.
Original commit message from CVS:
Reviewed by Edward Hervey <edward@fluendo.com>
* gst/videoscale/vs_scanline.c: (vs_scanline_resample_nearest_RGBA):
C-level optimization of the RGBA nearest neighbour function.
Eventually this might end up in liboil with vectorized versions.
Original commit message from CVS:
* gst/audioconvert/plugin.c: (plugin_init):
Register the GstAudioChannelPosition enum type with the type
system in the plugin_init function, so that it is known before
any element actually makes use of multi-channel stuff. This is
required for example if one wants to be able to deserialise/use
a caps string with channel positions before any pipeline has
been setup and started, like with gst-launch.
Original commit message from CVS:
* gst/playback/gstplaybin.c: (gen_vis_element):
Update vis bin docs.
Move queue after tee so we don't queue video buffers but
audio samples instead. Fixes problems where the video queue
is filled and the audio queue empty.
Original commit message from CVS:
* gst/tcp/gsttcpclientsrc.c: (gst_tcp_client_src_create):
Revert Andy's newsegment change pending a more correct
fix.
Original commit message from CVS:
:
* gst/typefind/gsttypefindfunctions.c: (q3gp_type_find),
(qt_type_find), (plugin_init):
detect more files as 3gp
group and reorder the iso file formats
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (mp3_type_find):
In case we can't find the required number of consecutive
mpeg audio frames to positively identify an MPEG audio
stream, check if there's at least a valid mpeg audio
frame right at offset 0 and if so suggest mpeg/audio
caps with a very low probability (#153004).
Original commit message from CVS:
2006-02-07 Andy Wingo <wingo@pobox.com>
* gst/tcp/gsttcpclientsrc.c (gst_tcp_client_src_create): Switch to
a TIME segment if we get timestamped buffers. Requires recent
fixes in core to work properly.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (prepare_output):
Don't print the URI as part of the error message, it
makes error dialogs look rather ugly, especially if
the URI is very long or has characters in it that
need escaping.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (prepare_output):
Error out if we have only text or subtitles, but nothing
else. Also error out if we have subtitles but no video
stream.
Original commit message from CVS:
2006-02-06 Julien MOUTTE <julien@moutte.net>
* ext/pango/gsttextoverlay.c: (gst_text_overlay_src_event):
Stick to seeking theory until i find the bug.
* gst/subparse/gstsubparse.c: (parse_subrip): Fix debug.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (try_to_link_1):
Don't put essential function call into
g_return_*() macro, otherwise it'll all be
replaced by NOOPs when compiling with
G_DISABLE_CHECKS defined.
Original commit message from CVS:
* gst/playback/test6.c: (new_decoded_pad_cb), (show_error), (main):
Make test work again by connecting fakesinks to each decoded pad,
which makes the pipeline wait until each fakesink has a buffer
queued before going to PAUSED state. At that point we know the
decodebin pads are negotiated.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (au_type_find),
(paris_type_find), (ilbc_type_find), (plugin_init):
Fix typefinding for audio/x-au, audio/x-paris and
audio/iLBC-sh. We cannot use the START_WITH macros
here, because there can only be one typefind factory
with the same name (caps), so the second one would
replace the first one and the first one would never
be called when doing typefinding (see #161712).
Original commit message from CVS:
* gst/audiotestsrc/gstaudiotestsrc.c:
(gst_audio_test_src_create_sine_table), (plugin_init):
* gst/volume/gstvolume.c: (plugin_init):
initialize gst_controller before using
Original commit message from CVS:
* gst/ffmpegcolorspace/gstffmpegcodecmap.c:
(gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_caps_to_pixfmt):
Patch from Eric Jonas to support conversions to/from UYVY
(Fixes: #324626)
Original commit message from CVS:
* gst-libs/gst/audio/audio.h: (GST_CLOCK_TIME_TO_FRAMES)
* gst-libs/gst/audio/gstbaseaudiosink.c: (gst_base_audio_sink_render)
use of gst_guint64_to_gdouble to be compliant with vs6
* gst/playback/gstdecodebin.c: (try_to_link_1)
* gst/videorate/videorate.c: (gst_video_rate_blank_data)
use of G_GINT64_CONSTANT for int64 constants
* win32/common/libgstinterfaces.def:
export some symbols (gst_mixer_get_type,gst_mixer_track_get_type)
* win32/vs6:
update and add new project files
Original commit message from CVS:
* gst/videoscale/vs_scanline.c: Oops, *that's* why I never
checked in this change -- it requires liboil features not
in 0.3.6. Revert parts.
Original commit message from CVS:
* ext/alsa/gstalsaplugin.c: (plugin_init):
* ext/cdparanoia/gstcdparanoiasrc.c:
(gst_cd_paranoia_src_base_init), (plugin_init):
* ext/gnomevfs/gstgnomevfs.c: (plugin_init):
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_plugin_init):
- a library should not call setlocale. see Libraries node in
gettext manual
- make sure all plugins that use translation do bindtextdomain
to point to the localedir
* gst/playback/gstplaybin.c: (gen_vis_element), (add_sink),
(setup_sinks), (plugin_init):
all this, and check for NULL when creating sinks
Original commit message from CVS:
2006-01-27 Julien MOUTTE <julien@moutte.net>
* gst/subparse/gstsubparse.c: (gst_subparse_type_find),
(plugin_init): Make typefinding of subtitles work again.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (aac_type_find),
(mp3_type_frame_length_from_header), (mp3_type_find),
(wavpack_type_find), (m4a_type_find), (ircam_type_find),
(plugin_init):
Backport a bunch of typefinding fixes from the 0.8 branch.
Also, improve wavpack typefinding: if we can't peek the
entire wavpack block, try to parse the bits we can get and
see if we find what we're looking for in those.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (pad_probe):
Also consider the flush-start and tag events as unblockers
for the pad probes.
Original commit message from CVS:
2006-01-26 Julien MOUTTE <julien@moutte.net>
* gst/playback/gstplaybin.c: (gst_play_bin_init),
(gst_play_bin_dispose), (gst_play_bin_vis_unblocked),
(gst_play_bin_vis_blocked), (gst_play_bin_set_property):
On the fly visualisation switch, works disabling, enabling as
well but it won't be able to enable vis in a playbin that was
created with no visualisation.
Original commit message from CVS:
* gst/playback/gstdecodebin.c: (gst_decode_bin_init),
(free_pad_probes), (remove_fakesink), (pad_probe),
(close_pad_link), (gst_decode_bin_change_state):
Replace GstPadBlockCallback with pad probes that detect
first buffer AND eos before removing fakesink.
Fixes hang with demuxers doing EOS while pre-rolling.
Solves #328279