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-libs/gst/rtp/Makefile.am:
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
(gst_base_rtp_audio_payload_init):
Fix and activate base audio payloader.
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:
Patch by: Mark Nauwelaerts <manauw at skynet dot be>
* ext/ogg/gstoggmux.c: (gst_ogg_mux_release_pad):
Remove the pad from the element in release_pad.
Original commit message from CVS:
* sys/ximage/ximagesink.c: (gst_ximagesink_get_type):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_type):
Explicitly create our custom buffer classes at a thread-safe
location as well, since g_type_class_ref() doesn't seem to be
entirely thread-safe either (#365501; also see #349410).
Original commit message from CVS:
* gst-libs/gst/riff/riff-read.c: (freeform_string_to_utf8),
(gst_riff_parse_info):
If strings in INFO chunk are not UTF-8, do something similar to
what we do for ID3v1 tags: check a number of environment variables
(GST_AVI_TAG_ENCODING, GST_RIFF_TAG_ENCODING, GST_TAG_ENCODING) for
character sets to try, otherwise try the current locale and/or fall
back on ISO-8859-1. Fixes#360552.
Original commit message from CVS:
* tests/check/elements/audiorate.c: (test_injector_base_init),
(test_injector_class_init), (test_injector_chain),
(test_injector_init), (probe_cb), (do_perfect_stream_test),
(GST_START_TEST), (audiorate_suite):
More tests for audiorate: inject buffers to check behaviour when
buffers overlap.
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/audiorate.c: (probe_cb), (got_buf),
(do_perfect_stream_test), (GST_START_TEST), (audiorate_suite):
Add some basic unit tests for audiorate. Disabled at the moment
since it doesn't pass yet (see bug #363119).
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:
2006-10-20 Julien MOUTTE <julien@moutte.net>
* sys/ximage/ximagesink.c: (gst_ximagesink_ximage_put):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_put):
Patch by: Stefan Kost <ensonic@users.sf.net>
Try to redraw borders only when needed. Apparently this consumes
resources on small devices... :-O (#363607)
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:
* ext/ogg/gstoggparse.c: (gst_ogg_parse_dispose),
(gst_ogg_parse_append_header), (gst_ogg_parse_chain):
Set caps on pushed buffers; fix up refcounting of caps objects.
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:
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/subparse.c: (buffer_from_static_string),
(setup_subparse), (teardown_subparse), (test_srt_do_test),
(GST_START_TEST), (subparse_suite):
Add very simple unit test for subparse.
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-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_event), (gst_base_audio_sink_render):
* gst-libs/gst/audio/gstbaseaudiosink.h:
Extract rate from the NEWSEGMENT event.
Use commit_full to also take rate adjustment into account when writing
samples to the ringbuffer.
* gst-libs/gst/audio/gstringbuffer.c:
(gst_ring_buffer_commit_full), (gst_ring_buffer_commit),
(gst_ring_buffer_read):
* gst-libs/gst/audio/gstringbuffer.h:
Added _commit_full() to also take rate into account.
Use simple interpolation algorithm to resample audio.
API: gst_ring_buffer_commit_full()
* tests/examples/seek/scrubby.c: (speed_cb), (do_seek):
* tests/examples/seek/seek.c: (segment_done):
Don't try to seek with 0.0 rate, just pause instead.
Remove bogus debug line.
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:
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/playbin.c: (GST_START_TEST),
(gst_red_video_src_uri_get_type),
(gst_red_video_src_uri_get_protocols),
(gst_red_video_src_uri_get_uri), (gst_red_video_src_uri_set_uri),
(gst_red_video_src_uri_handler_init),
(gst_red_video_src_init_type), (gst_red_video_src_base_init),
(gst_red_video_src_create), (gst_red_video_src_class_init),
(gst_red_video_src_init), (plugin_init), (playbin_suite):
Some small and basic unit tests for playbin; not very useful yet,
but at least a start.
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-libs/gst/interfaces/tuner.c: (gst_tuner_list_channels),
(gst_tuner_set_channel), (gst_tuner_get_channel),
(gst_tuner_list_norms), (gst_tuner_set_norm), (gst_tuner_get_norm),
(gst_tuner_set_frequency), (gst_tuner_get_frequency),
(gst_tuner_signal_strength), (gst_tuner_find_norm_by_name),
(gst_tuner_find_channel_by_name):
Fix some function guards, add some more function guards.
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:
2006-10-13 Julien MOUTTE <julien@moutte.net>
* tests/examples/seek/seek.c: (do_seek), (start_seek),
(rate_spinbutton_changed_cb), (segment_done),
(msg_state_changed):
Segment seeking needs to use the rate and set stop to -1.
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-13 Julien MOUTTE <julien@moutte.net>
* tests/examples/seek/seek.c: (do_seek), (start_seek),
(rate_spinbutton_changed_cb), (msg_state_changed): Stop the
scale
updater when we start grabing the slider. Don't wait for the
pipeline to be PAUSED.
Original commit message from CVS:
2006-10-12 Julien MOUTTE <julien@moutte.net>
* tests/examples/seek/seek.c: (do_seek), (start_seek),
(stop_seek),
(play_cb), (pause_cb), (stop_cb),
(rate_spinbutton_changed_cb),
(msg_state_changed), (main): Use state-changed messages to
trigger
start/stop of scale update timer. Indeed the scale slider was
jumping here and there because the update timer was activated
before seek completed. This fixes instant applying of rate
changes
by pressing the spinbutton like a crazy man !
Original commit message from CVS:
Patch by: Sebastien Cote <sebas642 at yahoo.ca>
* gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_init),
(gst_basertppayload_finalize):
Fix two small memory leaks (#361456).
Original commit message from CVS:
2006-10-10 Julien MOUTTE <julien@moutte.net>
* tests/examples/seek/seek.c: (do_seek),
(rate_spinbutton_changed_cb): When changing spinbutton we try
to change the rate on the fly.
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-libs/gst/interfaces/xoverlay.c:
(gst_x_overlay_set_xwindow_id), (gst_x_overlay_expose):
Some more guards against invalid input.
Original commit message from CVS:
2006-10-07 Julien MOUTTE <julien@moutte.net>
* ext/pango/gsttextoverlay.c: (gst_text_overlay_text_event):
Useless goto.
* tests/examples/seek/seek.c: (do_seek),
(rate_spinbutton_changed_cb), (main): Add a rate spinbutton in
seek example to experiment with rates != 1.0 (reverse playback
!)
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:
* ext/theora/theoradec.c: (theora_dec_chain):
Zero byte theora packets are valid and well-defined; don't warn on
them.
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:
Patch by: James "Doc" Livingston <doclivingston at gmail com>
* ext/vorbis/Makefile.am:
* ext/vorbis/vorbis.c: (plugin_init):
* ext/vorbis/vorbisparse.c: (gst_vorbis_parse_class_init),
(vorbis_parse_parse_packet), (vorbis_parse_chain):
* ext/vorbis/vorbisparse.h:
* ext/vorbis/vorbistag.c: (gst_vorbis_tag_base_init),
(gst_vorbis_tag_class_init), (gst_vorbis_tag_init),
(gst_vorbis_tag_parse_packet):
* ext/vorbis/vorbistag.h:
Add new vorbistag element which derives from vorbisparse
and is essentially the same as well, only that it implements
the GstTagSetter interface and can modify the stream's
vorbiscomment on the fly (#335635).
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/vorbistag.c: (setup_vorbistag),
(cleanup_vorbistag), (buffer_probe), (start_pipeline),
(get_buffer), (stop_pipeline), (_create_codebook_header_buffer),
(_create_audio_buffer), (GST_START_TEST), (vorbistag_suite):
Add unit test for new vorbistag element.
Original commit message from CVS:
* ext/vorbis/vorbisparse.c: (gst_vorbis_parse_init),
(vorbis_parse_push_headers), (vorbis_parse_chain):
Set BOS flag in packet structure to fix 'jump depends
on unitialized value' errors in valgrind; various minor
clean-ups.
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:
* ext/ogg/gstoggmux.c: (gst_ogg_mux_request_new_pad),
(gst_ogg_mux_release_pad), (gst_ogg_mux_push_buffer),
(gst_ogg_mux_compare_pads), (gst_ogg_mux_queue_pads),
(gst_ogg_mux_send_headers), (gst_ogg_mux_process_best_pad),
(gst_ogg_mux_collected):
Commit patch from James "Doc" Livingston, adds proper EOS handling
in oggmux. GStreamer can, for the first time ever, create a valid
Ogg file! Yay!
* tests/check/pipelines/oggmux.c: (check_chain_final_state),
(oggmux_suite):
Reenable tests now that they pass.
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-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render):
When we have a timestamp, we can still perform clipping.
When we have no clock, we must play the sample ASAP.
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:
* tests/check/elements/adder.c: (adder_suite):
Don't set timeout to 6 seconds when we're running
in valgrind ... (and how is 6 seconds longer than
the default anyway?)
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-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render):
Add some more info in a WARNING.
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_create):
Handle PAUSE in create function, use new -core addition to
wait for playing. Fixes pausing and resuming capture from an
audiosrc.
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_commit),
(gst_ring_buffer_read):
Constify some more.
Caller supports interrupted reads now.
Original commit message from CVS:
Patch by: Jonathan Matthew <jonathan@kaolin.wh9.net>
* ext/libvisual/visual.c: (gst_visual_clear_actors),
(gst_visual_chain), (gst_visual_change_state):
Libvisual plugin was not passing audio data to libvisual 0.4.0
correctly. Fixes#357800
Original commit message from CVS:
* tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
Add timeout to _get_state() so we see which pipeline it is
that causes trouble on the gen64 build bot.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_init), (gst_base_rtp_depayload_push_full),
(gst_base_rtp_depayload_push_ts), (gst_base_rtp_depayload_process),
(gst_base_rtp_depayload_set_gst_timestamp):
the source pad always uses fixed caps.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
* gst-libs/gst/rtp/gstbasertpaudiopayload.h:
Moved AudioCodecType into priv
Renamed all gst_basertpaudiopayload to gst_base_rtp_audio_payload prefixes
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-libs/gst/tag/gstvorbistag.c: (gst_vorbis_tag_add):
Parse dates that are followed by a time as well (#357532).
* tests/check/libs/tag.c: (test_vorbis_tags):
Add unit test for this.
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:
* tests/check/Makefile.am:
See if this makes the build bots happy.
* tests/check/libs/cddabasesrc.c:
UTF8-ise my name.
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:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/cdda/Makefile.am:
* gst-libs/gst/cdda/gstcddabasesrc.c:
(gst_cdda_base_src_base_init):
* gst-libs/gst/cdda/gstcddabasesrc.h:
* gst-libs/gst/tag/tag.h:
* gst-libs/gst/tag/tags.c: (gst_tag_register_tags_internal),
(gst_tag_register_musicbrainz_tags):
Move GST_TAG_CDDA_* tags into libgsttag and make libgstcddabasesrc
depend on libgsttag. This is required so we can extract/read tags like
DISCID without depending on libgstcddabasesrc (which used to register
them).
* gst-libs/gst/tag/gstvorbistag.c:
Add vorbiscomment mapping for CDDB_DISCID and MUSICBRAINZ_DISCID
tags (also see #347848).
* ext/vorbis/vorbisenc.c: (gst_vorbis_enc_metadata_set1):
Log vorbis comments we are actually writing. Const-ify array.
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:
Patch by: Young-Ho Cha <ganadist at chollian dot net>
* gst-libs/gst/riff/riff-ids.h:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps),
(gst_riff_create_audio_template_caps):
Added MPEG-4 AAC and id and caps. Fixes#357289
Added WMA9 Lossless id.
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfssrc.c:
Fix misleading docs addition.
* tests/check/elements/videotestsrc.c: (check_rgb_buf):
Get rid of compiler warning the right way.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_finalize),
(gst_base_rtp_depayload_setcaps), (gst_base_rtp_depayload_chain),
(gst_base_rtp_depayload_push_full),
(gst_base_rtp_depayload_push_ts), (gst_base_rtp_depayload_push),
(gst_base_rtp_depayload_process),
(gst_base_rtp_depayload_set_gst_timestamp),
(gst_base_rtp_depayload_queue_release):
* gst-libs/gst/rtp/gstbasertpdepayload.h:
Small cleanups.
Fix some leaks.
Refactored the process method and added methods to push from the process
vmethod.
Use _scale functions.
API: gst_base_rtp_depayload_push_ts
API: gst_base_rtp_depayload_push
* gst-libs/gst/rtp/gstbasertppayload.c: (gst_basertppayload_push):
timestamps are uint.
Original commit message from CVS:
* gst-libs/gst/interfaces/videoorientation.c:
(gst_video_orientation_iface_init),
(gst_video_orientation_get_hflip),
(gst_video_orientation_get_vflip),
(gst_video_orientation_get_hcenter),
(gst_video_orientation_get_vcenter),
(gst_video_orientation_set_hflip),
(gst_video_orientation_set_vflip),
(gst_video_orientation_set_hcenter),
(gst_video_orientation_set_vcenter):
Add since tags to new API docs, ChangeLog surgery (forgot API keyword
in ChangeLog)
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/ffmpegcolorspace.c: (rgb_format_to_caps),
(create_rgb_conversions), (rgb_conversion_free),
(right_shift_colour), (fix_expected_colour), (check_rgb_buf),
(got_buf_cb), (GST_START_TEST), (ffmpegcolorspace_suite):
Add unit test for ffmpegcolorspace (RGB <=> RGB only so far),
but disable for now since it doesn't pass (something wrong with
RGBA somewhere).
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-libs/gst/audio/gstringbuffer.c:
(gst_ring_buffer_samples_done), (gst_ring_buffer_commit),
(gst_ring_buffer_read):
Early morning compilation fix.
Original commit message from CVS:
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support),
(gst_xvimagesink_get_times):
change colorkey behaviour back according to #354773 comment 6/7
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-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps),
(gst_riff_create_audio_template_caps):
Reorder the audio formats a bit for clarity.
Detect and create caps for MSGSM and MSN (WAV49).
Fixes#356596.
* sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_destroy),
(gst_xvimagesink_check_xshm_calls), (gst_xvimagesink_xvimage_new),
(gst_xvimagesink_get_xv_support), (gst_xvimagesink_show_frame):
Small cleanups, move error handling out of normal flow for clarity.
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:
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support),
(gst_xvimagesink_get_times):
xvimage assumed that XV_COLORKEY can be set in RGB888 format (fixes
#354773), use gst_util_uint64_scale_int in _get_times()
Original commit message from CVS:
* ext/ogg/gstoggmux.c: (gst_ogg_mux_push_buffer):
Timestamps are unsigned; comparision against GST_CLOCK_TIME_NONE was
always true, leading to dropping all timestamps.
Original commit message from CVS:
* ext/libvisual/visual.c: (gst_vis_src_negotiate),
(gst_visual_chain), (gst_visual_change_state):
update to work also with libvisual 0.4 API
* tools/gst-launch-ext.1.in:
* tools/gst-visualise.1.in:
remove references to old man-pages
* tests/examples/seek/seek.c: (main):
add real meadi-buttons, add tool-tips for the seek-options, arrange
seek options in a table
Original commit message from CVS:
* ext/ogg/gstoggmux.c: (gst_ogg_mux_clear),
(gst_ogg_mux_push_buffer):
Don't generate out-of-order timestamps from oggmux, instead clamp
output timestamps to be >= the previously output ts.
Fixes#355595
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:
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_find_master_mixer),
(gst_alsa_mixer_ensure_track_list):
Try harder to guess which mixer track is the master mixer
track (instead of just taking the first one that has a pvolume).
Fixes#342228.
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-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_get_time), (gst_base_audio_sink_callback):
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_get_time), (gst_base_audio_src_fixate),
(gst_base_audio_src_get_times), (gst_base_audio_src_get_offset),
(gst_base_audio_src_create), (gst_base_audio_src_change_state):
Do the delay calculation in the source/sink base classes as this is
specific for the capture/playback mode.
Try to fixate a bit better, like round depth up to a multiple of 8
bigger than width.
Handle underruns correctly by marking DISCONT on buffers and adjusting
timestamps to handle the gap.
Set offset/offset_end correctly on buffers.
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_pause),
(gst_ring_buffer_samples_done), (gst_ring_buffer_commit),
(gst_ring_buffer_read):
Remove resync and underrun recovery from the ringbuffer.
Fix ringbuffer read code on under/overrun.
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:
* configure.ac:
We require 0.10.10.1 now because of _wait_preroll().
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render):
Use gst_base_sink_wait_preroll().
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (xrun_recovery), (gst_alsasink_write):
* ext/alsa/gstalsasrc.c: (xrun_recovery), (gst_alsasrc_read):
Use DEBUG_OBJECT more.
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:
patch by: Wim Taymans <wim at fluendo dot com>
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_start):
This patch removes the RANDOM flag that was incorrectly introduced with
revision 1.91. Fixes#354590
Original commit message from CVS:
Patch by: James Livingston <doclivingston at gmail.com>
* tests/check/Makefile.am:
* tests/check/pipelines/.cvsignore:
* tests/check/pipelines/oggmux.c: (get_page_codec),
(check_chain_final_state), (fail_if_audio), (validate_ogg_page),
(eos_buffer_probe), (start_pipeline), (stop_pipeline), (eos_watch),
(test_pipeline), (test_vorbis), (test_theora), (test_vorbis_theora),
(test_theora_vorbis), (oggmux_suite):
Add simple unit test for oggmux from #337026 with checking for the
EOS flags disabled for the time being.
Original commit message from CVS:
* tests/check/elements/videotestsrc.c: (check_rgb_buf):
Returning a return value often helps. In this case, we
don't need the return value anyway, so just get rid of it.
Should make build bots much happier.
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:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_init),
(gst_ogg_demux_finalize), (gst_ogg_demux_perform_seek),
(gst_ogg_demux_loop):
Send the GST_EVENT_NEW_SEGMENT from the streaming thread.
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:
Patch by: Tim-Philipp Müller <tim at centricular dot net>
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_create),
(gst_gnome_vfs_src_start):
Try harder to get the size from a uri by using _info_uri() when
_info_from_handle() does not give us enough info.
Also follow symlinks when getting the size.
Partially Fixes#332864.
Original commit message from CVS:
Patch by: Viktor Peters <viktor dot peters at gmail dot com>
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_ensure_track_list),
(gst_alsa_mixer_update), (gst_alsa_mixer_get_volume),
(gst_alsa_mixer_set_volume), (gst_alsa_mixer_set_mute),
(gst_alsa_mixer_set_record):
* ext/alsa/gstalsamixertrack.c:
(gst_alsa_mixer_track_update_alsa_capabilities),
(alsa_track_has_cap), (gst_alsa_mixer_track_new),
(gst_alsa_mixer_track_update):
* ext/alsa/gstalsamixertrack.h:
Improve and fix mixer track handling, in particular better handling
of alsa's pvolume/pswitch/cvolume/cswitch capabilities; create separate
track objects for tracks that have both capture and playback volume
(and label them differently as well so they're not mistakenly
assumed to be duplicates); classify mixer tracks that only affect
the audible volume of something (rather than the capture volume)
as playback tracks. Redefine/fix meaning of RECORD and MUTE flags
for capture tracks to correspond to alsa-pswitch alsa-cswitch
(following the meaning documented in the mixer interface header
file); add support for alsa's exclusive cswitch groups; update/sync
state/flags better if mixer settings are changed by another
application. Fixes#336075.
Original commit message from CVS:
* ext/vorbis/vorbisenc.c: (gst_vorbis_enc_push_buffer),
(gst_vorbis_enc_buffer_check_discontinuous),
(gst_vorbis_enc_chain):
Ignore explicit DISCONT marked on buffers (which is often spurious,
particularly when using multiple segments), in favour of solely
using the timestamps/durations.
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:
* ext/vorbis/vorbisenc.c:
(gst_vorbis_enc_buffer_check_discontinuous):
Allow very small discontinuities in the timestamps. These we can't
do anything useful with anyway (because vorbis's timestamps have
only sample granularity), and are commonly produced by elements with
minor bugs. Allow up to 1/2 a sample out.
Fixes#351742.
Original commit message from CVS:
* tests/examples/seek/seek.c: (seek_cb), (start_seek), (stop_seek),
(play_scrub_toggle_cb), (main):
Add a checkbox to enable play scrubbing. Makes it possible to disable
normal scrubbing.
Original commit message from CVS:
* ext/ogg/gstogmparse.c: (gst_ogm_audio_parse_base_init),
(gst_ogm_video_parse_base_init), (gst_ogm_text_parse_base_init),
(gst_ogm_parse_class_init), (gst_ogm_parse_dispose),
(gst_ogm_parse_init), (gst_ogm_audio_parse_init),
(gst_ogm_video_parse_init), (gst_ogm_text_parse_init),
(gst_ogm_parse_stream_header), (gst_ogm_parse_comment_packet),
(gst_ogm_text_parse_strip_trailing_zeroes),
(gst_ogm_parse_data_packet), (gst_ogm_parse_chain),
(gst_ogm_parse_sink_event), (gst_ogm_parse_change_state):
Refactor ogm parse, do better input checking, misc. clean-ups.
Cache incoming events and push them once the source pad has
been created. Don't pass unterminated strings to sscanf().
Strip trailing zeroes from subtitle text output, since they
are not valid UTF-8. Don't push vorbiscomment packets on
the subtitle text pad. Output perfect streams if possible.
Original commit message from CVS:
* tests/check/libs/cddabasesrc.c: (GST_START_TEST):
Waits for tasks to settle down so that we clean up correctly for
valgrind.
Original commit message from CVS:
* tests/check/libs/tag.c: (GST_START_TEST), (taglists_are_equal):
Unit test fixes: \377 is more likely to fit into 8 bits than \777;
actually return return value in taglists_are_equal.
Original commit message from CVS:
* ext/ogg/gstogmparse.c: (gst_ogm_parse_chain):
Fix crash due to broken bitstream parsing on x86-64: can't make
any assumptions about sizeof(struct) due to alignment/packing
differences on different architectures. Fixes#351790.
Original commit message from CVS:
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_chunk),
(gst_riff_parse_chunk), (gst_riff_parse_file_header),
(gst_riff_parse_strh), (gst_riff_parse_strf_vids),
(gst_riff_parse_strf_auds), (gst_riff_parse_strf_iavs),
(gst_riff_parse_info):
Protect public functions against bad input.
Do some cleanups.
Fix documentation.
Original commit message from CVS:
* gst-libs/gst/riff/riff-ids.h:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
Add voxware audio IDs (even if we can't play it) (#351795).
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_template_caps),
(gst_riff_create_audio_template_caps),
(gst_riff_create_iavs_template_caps):
Const-ify some arrays and use G_N_ELEMENTS instead
of wasting oodles of RAM on terminator bits.
Original commit message from CVS:
* gst-libs/gst/tag/gstvorbistag.c:
(gst_tag_list_to_vorbiscomment_buffer):
* tests/check/libs/tag.c: (GST_START_TEST):
And the same for _to_vorbiscomment_buffer(): allow
id_data_len == 0 for speex.
Original commit message from CVS:
* gst-libs/gst/tag/gstvorbistag.c:
(gst_tag_list_from_vorbiscomment_buffer):
Allow id_data_len == 0 (needed for vorbis comments in Speex files).
Also add some checks to make sure we don't memcmp() beyond the end of
vorbiscomment buffer if the ID to check for is larger than the buffer.
* tests/check/libs/tag.c: (GST_START_TEST):
Some more tests for gst_tag_list_from_vorbiscomment_buffer().
Original commit message from CVS:
* ext/vorbis/vorbisenc.c: (gst_vorbis_enc_metadata_set1),
(gst_vorbis_enc_set_metadata):
Use vorbis comment utility functions from libgsttag
instead of re-inventing the wheel (partially fixes#347091).
Original commit message from CVS:
* tests/check/elements/audioconvert.c: (GST_START_TEST):
Fix leaks. Wait for state transitions that might happen ASYNC, as well
as some that won't.
Original commit message from CVS:
* docs/libs/Makefile.am:
* docs/libs/gst-plugins-base-libs-sections.txt:
* docs/libs/gst-plugins-base-libs.types:
Don't try to GObject scan the netbuffer as it's not a GObject.
Fixes#351308.
* gst-libs/gst/netbuffer/gstnetbuffer.c:
* gst-libs/gst/netbuffer/gstnetbuffer.h:
Document GstNetBuffer.
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-libs/gst/tag/gstvorbistag.c: (gst_vorbis_tag_add),
(gst_tag_to_vorbis_comments):
Serialise unknown vorbis comments into GST_TAG_EXTENDED_COMMENT
tags and deserialise them properly as well (#351768).
Add some more gtk-doc blurbs and also some g_return_if_fail().
* tests/check/libs/tag.c: (GST_START_TEST),
(back_to_vorbis_comments), (taglists_are_equal), (tag_suite):
More tests.
Original commit message from CVS:
* gst-libs/gst/cdda/gstcddabasesrc.c: (gst_cdda_base_src_create):
Make buffer durations add up (duration should be next_ts-ts for
perfect streams). Fixes CD ripping to Ogg/Vorbis with vorbisenc
from CVS.
* tests/check/libs/cddabasesrc.c: (gst_cd_foo_src_close),
(test_buffer_timestamps), (cddabasesrc_suite):
Add unit test for the above.
* tests/check/Makefile.am:
Don't know why cddabasesrc test was in VALGRIND_TO_FIX, remove
to see what happens.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsasink_set_property),
(gst_alsasink_open):
* ext/alsa/gstalsasrc.c: (gst_alsasrc_set_property),
(gst_alsasrc_open):
Avoid setting and using a NULL device name.
Print more info when we fail to open a device.
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:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_submit_buffer),
(gst_ogg_demux_get_next_page), (gst_ogg_demux_perform_seek),
(gst_ogg_demux_read_chain), (gst_ogg_demux_loop):
Add some more debug info.
Don't crash when a seek failed.
Actually return the result of the seek instead of TRUE.
Ignore multiple BOS pages with the same serial so that we don't create
the same stream multiple times.
Post an error when we fail to do the initial seek.
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_detect_rates),
(gst_alsa_detect_channels), (gst_alsa_probe_supported_formats):
Small code cleanup.
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_open),
(gst_alsa_mixer_new):
Remove hack that always set the device to hw:0*.
Properly find the card name for whatever device was configured.
Do some better debugging.
Fixes#350784.
* ext/alsa/gstalsamixerelement.c:
(gst_alsa_mixer_element_set_property),
(gst_alsa_mixer_element_change_state):
Cleanups.
Handle setting of a NULL device name better.
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:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_src_query):
Implement SEEKING query in its most basic form, so that we can
at least check if we're seekable or not (#350655).
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:
* tests/check/Makefile.am:
* tests/check/libs/.cvsignore:
* tests/check/libs/audio.c: (structure_contains_channel_positions),
(fixed_caps_have_channel_positions), (GST_START_TEST),
(audio_suite), (main):
Add a few tests for the channel position stuff in libgstaudio.
Original commit message from CVS:
* ext/alsa/gstalsa.c: (caps_add_channel_configuration),
(gst_alsa_detect_channels):
* ext/alsa/gstalsasink.c:
Add support for cards that (only) do more than 8 channels,
like the Delta 44 (#345188).
* gst-libs/gst/audio/multichannel.c:
(gst_audio_check_channel_positions):
* gst-libs/gst/audio/multichannel.h:
API: add GST_AUDIO_CHANNEL_POSITION_NONE, which stands for an
unspecified channel position and cannot be combined with any
of the other audio channel positions; adjust position layout
checks accordingly (#345188).
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/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:
* tests/check/pipelines/vorbisenc.c: (GST_START_TEST),
(vorbisenc_suite):
Enable Andy's extra vorbisenc test, now that it passes. Also fix one
aspect of it.
Original commit message from CVS:
* ext/vorbis/vorbisenc.c: (gst_vorbis_enc_generate_sink_caps),
(gst_vorbis_enc_sink_getcaps), (gst_vorbis_enc_buffer_from_packet),
(gst_vorbis_enc_push_buffer),
(gst_vorbis_enc_buffer_check_discontinuous),
(gst_vorbis_enc_chain), (gst_vorbis_enc_change_state):
* ext/vorbis/vorbisenc.h:
Handle discontinuities in the input vorbis stream correctly,
so that the output is properly timestamped (and has good granulepos
values). Needs some oggmux fixes too.
Original commit message from CVS:
patch by: Kai Vehmanen <kv2004 eca cx>
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_chain),
(gst_base_rtp_depayload_handle_sink_event),
(gst_base_rtp_depayload_change_state):
Don't send multiple newsegments with different formats.
Fixes#348677.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_internal_chain),
(gst_ogg_demux_do_seek), (gst_ogg_demux_read_chain):
Make seeking in ogg more accurate again by doing the more correct
granuletime to stream time conversion.
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-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render):
Don't try to align a sample to an unknown value.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_provide_clock), (gst_base_audio_sink_render):
When the audio clock is slaved to another clock, never try to align
samples but trust the rate interpolation algorithm.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (set_hwparams), (gst_alsasink_prepare):
Don't try to calculate silence samples, base class does this much
better now.
* gst-libs/gst/audio/gstringbuffer.c: (build_linear_format),
(gst_ring_buffer_debug_spec_caps), (gst_ring_buffer_parse_caps),
(gst_ring_buffer_acquire):
Calculate silence samples correctly.
* gst-libs/gst/audio/gstringbuffer.h:
Add _CAST macro.
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:
2006-07-21 Andy Wingo <wingo@pobox.com>
* tests/check/pipelines/theoraenc.c (test_discontinuity): Similar
test to the one in vorbisenc. Also commented out.
Original commit message from CVS:
2006-07-21 Andy Wingo <wingo@pobox.com>
* tests/check/pipelines/vorbisenc.c:
(test_discontinuity): New test, commented out until Mike lands
some elite vorbisenc patches.
Original commit message from CVS:
2006-07-21 Andy Wingo <wingo@pobox.com>
* tests/check/pipelines/vorbisenc.c:
* tests/check/pipelines/theoraenc.c: Port to bufferstraw.
Bufferstraw was actually factored out of these tests. Now we share
code yay.
Original commit message from CVS:
* gst-libs/gst/audio/gstaudiosink.c: (audioringbuffer_thread_func),
(gst_audioringbuffer_finalize), (gst_audioringbuffer_acquire),
(gst_audioringbuffer_release), (gst_audioringbuffer_stop):
Fix leak.
Avoid type casting when we can.
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_dispose):
Fix mem leak.
Original commit message from CVS:
* ext/alsa/gstalsamixerelement.c:
(gst_alsa_mixer_element_change_state):
Make state change fail if the specified device can't be opened
for some reason.
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:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_chain),
(gst_base_rtp_depayload_change_state):
Don't assert when not negotiated but post a meaningfull
error message. Fixes#347918.
* gst-libs/gst/rtp/gstbasertppayload.c:
Add comment about better default MTU size.
* gst-libs/gst/rtp/gstrtpbuffer.c: (gst_rtp_buffer_validate_data):
Small cleanups, start docs.
Original commit message from CVS:
Patch by: Martin Szulecki
* sys/v4l/gstv4lelement.c: (gst_v4lelement_get_property):
If "device-name" is requested and the device is not
open, try to temporarily open it to obtain this
information (#342494).
Original commit message from CVS:
* gst-libs/gst/tag/gstid3tag.c:
Add TSSE <=> GST_TAG_ENCODER mapping (see #347898).
* gst-libs/gst/tag/gsttageditingprivate.h:
* gst-libs/gst/tag/gstvorbistag.c:
Some more random const-ifications.
Original commit message from CVS:
* gst-libs/gst/riff/riff-ids.h:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_template_caps):
Add more FOURCCs (sort list to make stuff easier to find),
add comment what those 16 bytes in struct _gst_riff_strh according to
one avi-dumper are
Original commit message from CVS:
* gst-libs/gst/audio/multichannel.c:
(gst_audio_check_channel_positions),
(gst_audio_fixate_channel_positions):
Const-ify two arrays.
Original commit message from CVS:
* ext/alsa/gstalsa.c: (caps_add_channel_configuration):
Fix typo, so that alsasink also advertises 8 channels
if that's supported (tags: can, worms, open, alsa, ph34r).
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_internal_chain),
(gst_ogg_pad_submit_packet), (gst_ogg_demux_read_chain):
*sigh*, when is the compiler going to warn when the comments
are out-of-sync with the code.. Refix case of busted theora
headers with 0 granule pos.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_wait),
(gst_base_rtp_depayload_change_state),
(gst_base_rtp_depayload_set_property),
(gst_base_rtp_depayload_get_property):
Fix 99% cpu load by waiting for absolute times on the
clock. Fixes#347300.
Original commit message from CVS:
2006-07-14 Andy Wingo <wingo@pobox.com>
* ext/theora/gsttheoraparse.h:
* ext/theora/theoraparse.c (theora_parse_drain_event_queue)
(theora_parse_push_headers, theora_parse_clear_queue)
(theora_parse_drain_queue_prematurely, )
(theora_parse_sink_event, theora_parse_change_state): Queue events
until we initialized our state, like in vorbisparse.
Original commit message from CVS:
2006-07-14 Andy Wingo <wingo@pobox.com>
* ext/vorbis/vorbisparse.h:
* ext/vorbis/vorbisparse.c (vorbis_parse_drain_event_queue)
(vorbis_parse_push_headers, vorbis_parse_clear_queue)
(vorbis_parse_drain_queue_prematurely, )
(vorbis_parse_sink_event, vorbis_parse_change_state): Queue events
until we have initialized our state. Fixes seeking after an
initial pad block.
2006-07-14 Andy Wingo <wingo@pobox.com>
Patch by: Iain * <iaingnome@gmail.com>
* ext/ogg/gstoggdemux.c (gst_ogg_demux_finalize): Fix memleak.
Original commit message from CVS:
* tests/check/pipelines/vorbisenc.c: (stop_pipeline):
Move a g_cond_signal to earlier to avoid sometimes deadlocking
(commonly happens when running this test under valgrind) when trying
to remove the buffer probe.
Original commit message from CVS:
* sys/ximage/ximagesink.c: (gst_ximagesink_ximage_new),
(gst_ximagesink_change_state):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_new),
(gst_xvimagesink_change_state):
Implement a locking order to ensure we always take the object lock
before the x_lock and never vice-versa.
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:
* ext/vorbis/vorbisdec.c: (vorbis_dec_finalize),
(vorbis_handle_comment_packet):
gst_tag_list_merge() returns a new object. Take that into account when
using it. This avoids memleak.
Revert previous commit which is not needed.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_set_clock),
(gst_base_audio_src_check_get_range), (gst_base_audio_src_create):
Don't try to post an error message when setting the clock fails
as this can happen when adding an element to a bin which will then
deadlock. Fixes#347296.
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (gst_vorbis_dec_reset),
(vorbis_dec_sink_event), (vorbis_handle_comment_packet),
(vorbis_handle_type_packet):
Post tag messages on the bus even if we're not initialized.
If we're not initialized, we still postpone the event pushing of tags.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (set_hwparams), (gst_alsasink_prepare):
* gst-libs/gst/audio/gstringbuffer.c: (build_linear_format),
(gst_ring_buffer_debug_spec_caps), (gst_ring_buffer_parse_caps):
Revert last two changes that broke the freeze.
Original commit message from CVS:
* gst-libs/gst/audio/gstringbuffer.c: (build_linear_format),
(gst_ring_buffer_debug_spec_caps), (gst_ring_buffer_parse_caps):
Calculate correct silence samples so we don't fill our ringbuffer
with noise.
Original commit message from CVS:
* tests/check/elements/audioconvert.c: (get_float_mc_caps),
(get_int_mc_caps), (GST_START_TEST), (audioconvert_suite):
Patch from #347221 adding a test for audioconvert
channel remappings.
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:
2006-07-08 Andy Wingo <wingo@pobox.com>
* theoraparse.c (theora_parse_push_buffer)
(theora_parse_drain_queue_prematurely, theora_parse_drain_queue):
Add some more debugging. Fix granulepos reconstruction in the face
of discontinuities.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_class_init),
(gst_base_audio_sink_provide_clock):
Use gobject_class instead of G_OBJECT_CLASS (klass)
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_class_init), (gst_base_audio_src_init),
(gst_base_audio_src_set_clock), (gst_base_audio_src_provide_clock),
(gst_base_audio_src_get_time),
(gst_base_audio_src_check_get_range), (gst_base_audio_src_create),
(gst_base_audio_src_create_ringbuffer):
Fix latency and buffer-time constants and properties ala basesink.
Implement pull based scheduling. Fixes#346527.
Set default blocksize in GstBaseSrc to 0, we default to pushing out
one segment.
Refuse slaving to another clock instead of silently not working.
Only provide a clock when we are actually able to do so.
Various small cleanups and compiler hints.
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:
* win32/common/libgsttag.def:
Export some new functions.
* win32/vs6/libgstogg.dsp:
Add a link to libgsttag-0.10.lib.
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:
Patch by: Michael Sheldon <webmaster at mikeasoft com>
* ext/alsa/gstalsasrc.c:
Add 32 bps to template caps and increase channels range
from [1,2] to [1,MAX]. See #346326.
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-libs/gst/tag/tags.c: (register_tag_image_type_enum):
Second field in GEnumValue shouldn't be a description,
but a stringified version of the enum value.
Original commit message from CVS:
* sys/ximage/ximagesink.c: (gst_ximage_buffer_finalize),
(gst_ximage_buffer_free), (gst_ximagesink_ximage_put),
(gst_ximagesink_setcaps), (gst_ximagesink_buffer_alloc):
Avoid type checking in buffer casts.
Avoid caps copy in buffer_alloc when we can.
Use pad_peer_accept.
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:
* ext/pango/gsttextoverlay.c: (gst_text_overlay_make_utf8),
(gst_text_overlay_video_chain):
g_markup_escape_text() REALLY doesn't like non-UTF8 input
and doesn't validate its input either (and neither did
textoverlay it seems). Let's do that then and fix#345206.
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:
* tests/check/elements/audioresample.c: (test_reuse),
(audioresample_suite):
Add test case for bug #342789 fixed below.
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:
Patch by: Young-Ho Cha <ganadist at chollian dot net>
* gst-libs/gst/riff/riff-read.c: (gst_riff_parse_strf_vids):
Parse extra data better, apparently it's right behind
the normal strf header size. Fixes#343500.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (set_hwparams):
If we fail to set the buffer_time and period_time alsa
parameters, post a warning and leave alsa select a
default instead of failing. Fixes#342085
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/cdda/gstcddabasesrc.h:
Remove GST_CDDA_TAG_TRACK_TAGS again, it is #ifdef 0'ed
out in the header file and shouldn't be listed in the docs.
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_chunk):
Fix it so that it doesn't crash in the debug statement.
Original commit message from CVS:
* docs/libs/Makefile.am:
* docs/libs/gst-plugins-base-libs-docs.sgml:
* docs/libs/gst-plugins-base-libs-sections.txt:
* docs/libs/gst-plugins-base-libs.types:
add remaining symbols into correct setions
* gst-libs/gst/audio/gstringbuffer.c:
fix incomplete docs
* gst-libs/gst/audio/gstringbuffer.h:
comment out not yet implemented function
* gst-libs/gst/floatcast/floatcast.h:
* gst-libs/gst/netbuffer/gstnetbuffer.c:
add short descriptions
* gst-libs/gst/interfaces/propertyprobe.c:
fix return value docs
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_chunk):
simplify debug logging
* gst-libs/gst/riff/riff-read.h:
sync function prototype and docs
* gst-libs/gst/rtp/gstbasertpaudiopayload.h:
remove left over symbol
Original commit message from CVS:
* autogen.sh:
* configure.ac:
* docs/Makefile.am:
Use GST_PLUGIN_DOCS macro in configure.ac, add
--enable-plugin-docs default to autogen.sh and use
ENABLE_PLUGIN_DOCS conditional in Makefile.am (#344039).
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_chain_peer),
(gst_ogg_demux_activate_chain), (gst_ogg_demux_combine_flows),
(gst_ogg_demux_loop):
Combine GstFlowReturn from the source pads to give a
meaningfull result to the upstream peer or to stop the
processing task in case of errors.
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:
* ext/ogg/Makefile.am:
* ext/ogg/gstogmparse.c: (gst_ogm_parse_chain):
Extract language tags from ogm subtitle streams, so that
the subtitle menu choices are labelled correctly in
Totem (fixes#344708).
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:
* docs/libs/gst-plugins-base-libs-docs.sgml:
* docs/libs/gst-plugins-base-libs-sections.txt:
* docs/libs/gst-plugins-base-libs.types:
first batch of reordering things, add index & hierarchy
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfsuri.c: (gst_gnomevfs_get_supported_uris):
Add support for burn:// URIs (#343385); const-ify things a bit,
use G_N_ELEMENTS instead of hard-coded array size.
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:
* ext/theora/theoraparse.c: (theora_parse_drain_queue_prematurely),
(theora_parse_drain_queue):
Mark DELTA_UNIT on non-keyframes.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_class_init), (gst_base_audio_sink_setcaps):
* gst-libs/gst/audio/gstbaseaudiosink.h:
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_parse_caps),
(gst_ring_buffer_samples_done):
* gst-libs/gst/audio/gstringbuffer.h:
Document better the fact that latency_time and buffer_time are values
stored in microseconds, and not the usual GStreamer nanoseconds.
Change the variables (compatibly) that store them from GstClockTime
to guint64 to make it more clear that they're not storing clock times.
Also, remove the bogus property description that says the user can
specify -1 to get the default value, since that's never been the case.
When computing the default segment size for the ring buffer, make it
an integer number of samples.
When the sub-class indicates a delay greater than the number of
samples we've written return 0 from the audio sink get_time method.
Original commit message from CVS:
* tests/check/elements/audioconvert.c: (set_channel_positions),
(get_float_mc_caps), (get_int_mc_caps):
* tests/check/elements/audioresample.c:
* tests/check/elements/audiotestsrc.c: (GST_START_TEST):
* tests/check/elements/videorate.c:
* tests/check/elements/videotestsrc.c: (GST_START_TEST):
* tests/check/elements/volume.c:
* tests/check/elements/vorbisdec.c:
* tests/check/pipelines/vorbisenc.c: (GST_START_TEST):
Don't busy-wait in tests; this was causing test timeouts very
frequently when running under valgrind.
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:
* ext/vorbis/vorbisdec.c: (vorbis_handle_identification_packet):
Reinstate limit on channel count. Vorbis does not define the meaning
of > 6 channels, so they're just independent channels. Gstreamer
currently has no mechanism to represent N independent channels.
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_handle_identification_packet):
Don't arbitrarily restrict channel counts and rate in vorbis.
In terms of effects likely on real-world files, this fixes 96kHz
playback of vorbis.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_perform_seek):
Don't accidently send GST_CLOCK_TIME_NONE as a new segment start
value. Fixes g-critical on trying to play back ogg containing
unknown codec.
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/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:
* ext/libvisual/visual.c: (gst_visual_reset),
(gst_visual_sink_setcaps), (gst_visual_sink_event),
(gst_visual_src_event), (get_buffer), (gst_visual_chain):
Handle DISCONT.
Use running time before doing QoS.
Handle mono too.
Original commit message from CVS:
* win32/common/libgstvideo.def:
export gst_video_calculate_display_ratio
* win32/vs6/libgstvideoscale.dsp:
add link to libgstvideo-0.10.lib
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:
* ext/vorbis/vorbisenc.c: (raw_caps_factory),
(gst_vorbis_enc_class_init), (gst_vorbis_enc_dispose),
(gst_vorbis_enc_generate_sink_caps), (gst_vorbis_enc_sink_getcaps),
(gst_vorbis_enc_init), (gst_vorbis_enc_buffer_from_header_packet),
(gst_vorbis_enc_chain), (gst_vorbis_enc_change_state):
* ext/vorbis/vorbisenc.h:
Multi-channel caps negotiation, so we can do proper multichannel
vorbis encoding, negotiated through audioconvert.
Original commit message from CVS:
* tests/check/elements/adder.c: (test_event_message_received),
(test_play_twice_message_received), (GST_START_TEST),
(adder_suite):
Added check to show that #339935 is fixed with ongoing
adder and collectpads fixes.
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:
* tests/check/pipelines/simple-launch-lines.c:
* tests/check/pipelines/theoraenc.c:
* tests/check/pipelines/vorbisenc.c:
Comment out tests using parse_launch() if core was built without
parsing capabilities.
Original commit message from CVS:
* tests/check/Makefile.am:
Extra bonus points for whoever explains to ensonic that you are meant
to test unit tests thoroughly before commiting them, especially if
you know it's going to break.
De-activated element/adder tests.
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:
* README:
Replace current README (containing the release notes from
some 0.9.x version) with a proper README taken from the core.
Original commit message from CVS:
* sys/ximage/ximagesink.c: (gst_ximagesink_ximage_new),
(gst_ximagesink_xcontext_get), (gst_ximagesink_show_frame):
Improve the errors produced on bad output, including some human
readable description strings.
Handle the (theoretical for ximagesink) case where the XServer
has a different idea about the size required for a particular
frame and gives us too small a memory allocation.
Original commit message from CVS:
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_new),
(gst_xvimagesink_get_xv_support), (gst_xvimagesink_xcontext_get),
(gst_xvimagesink_get_format_from_caps), (gst_xvimagesink_setcaps),
(gst_xvimagesink_show_frame), (gst_xvimagesink_buffer_alloc):
Improve the errors produced on bad output, including some human
readable description strings.
Handle RGB Xv formats properly by transforming them into our
big-endian caps description.
Use gst_caps_truncate to ensure that we never try and choose a
non-fixed caps in buffer_alloc.
Handle the case where the XServer has a different idea about the size
required for a particular frame and gives us too small a memory
allocation.
Use -1 to indicate 'no image format', because 0 is a valid XServer
image format number.
Put RGB Xv formats at the end of the caps, so that we always prefer
YUV format frames.
Iterate the available Xv Encodings to determine the maximum width and
height, and then return that in our caps.
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:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_typefind):
Use gst_type_find_helper_for_buffer() to find the type
of stream from the first packet.
* configure.ac:
Bump requirements to core CVS (needed for vorbis
typefinding to work).
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:
* ext/theora/theoradec.c: (theora_dec_chain):
Make work with time-stamped input buffers that do not
have a granulepos in BUFFER_OFFSET_END (like theora
buffers coming from matroskademux). Fixes#342448.
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-libs/gst/riff/riff-read.c: (gst_riff_read_chunk):
On second thought, just skip JUNK chunks automatically, so
the caller doesn't have to handle this. Fixes#342345.
Also, return GST_FLOW_UNEXPECTED if we get a short read,
not GST_FLOW_ERROR.
Original commit message from CVS:
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_chunk):
Don't bail out on JUNK chunks with a size of 0 (would try to
pull_range 0 bytes before, which sources don't like too much).
See #342345.
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:
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xcontext_clear),
(gst_xvimagesink_buffer_alloc):
* sys/xvimage/xvimagesink.h:
When performing buffer allocations, remember the caps and image format
we return so that if the same caps are asked for next time we can
return them immediately without doing any caps intersections.
Original commit message from CVS:
2006-05-18 Philippe Kalaf <philippe.kalaf@collabora.co.uk>
* gst-libs/gst/rtp/README:
Some new documentation
* gst-libs/gst/rtp/gstrtpbuffer.h:
Added GST_RTP_PAYLOAD_DYNAMIC_STRING for use by children
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
* gst-libs/gst/rtp/gstbasertpaudiopayload.h:
New RTP audio base payloader class. Supports frame or sample based codecs.
Not enabled in Makefile.am until approved.
Original commit message from CVS:
* tests/check/elements/alsa.c: (test_device_property_probe):
Fix test case: don't try to free NULL GValueArray when there
are no devices.
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/elements/alsa.c: (test_device_property_probe),
(alsa_suite), (main):
Add simple test that runs a device property probe on alsasrc,
alsasink and alsamixer. Disable valgrind check for now (too
many leaks in libasound, and valgrind ignored my suppressions
additions).
Original commit message from CVS:
* ext/alsa/gstalsadeviceprobe.c: (gst_alsa_get_device_list),
(gst_alsa_device_property_probe_probe_property),
(gst_alsa_device_property_probe_needs_probe),
(gst_alsa_device_property_probe_get_values),
(gst_alsa_type_add_device_property_probe_interface):
* ext/alsa/gstalsadeviceprobe.h:
* ext/alsa/gstalsamixerelement.c:
(gst_alsa_mixer_element_init_interfaces):
* ext/alsa/gstalsamixerelement.h:
Clean up and simplify alsa device probing. Make it actually work
for multiple classes. Don't cache results any longer.
* ext/alsa/gstalsasink.c: (gst_alsasink_init_interfaces),
(gst_alsasink_init):
* ext/alsa/gstalsasrc.c: (gst_alsasrc_dispose),
(gst_alsasrc_interface_supported), (gst_implements_interface_init),
(gst_alsasrc_init_interfaces), (gst_alsasrc_set_property):
Make alsasink and alsasrc implement the GstPropertyProbe interface
for device probing (#342181).
Patch by: Martin Szulecki <gnomebugzilla at sukimashita com>
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:
* gst-libs/gst/audio/multichannel.c:
(gst_audio_check_channel_positions):
It's okay to have caps with channels=1 and a channel position
different from GST_AUDIO_CHANNEL_POSITION_FRONT_MONO
(deinterleavers might want to keep the position in the caps,
so that they can be re-interleaved again properly later).
Leave check for unexpected 2-channel layouts intact for now.
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:
* ext/alsa/Makefile.am:
* ext/alsa/gstalsa.c: (gst_alsa_detect_rates),
(gst_alsa_detect_formats), (get_channel_free_structure),
(caps_add_channel_configuration), (gst_alsa_detect_channels),
(gst_alsa_probe_supported_formats):
* ext/alsa/gstalsa.h:
* ext/alsa/gstalsasink.c: (gst_alsasink_getcaps):
Refactor and improve caps probing code: probe signedness
when we probe the supported formats/widths; set endianness
to the one we actually probed for (ie. cpu endianness).
* ext/alsa/gstalsasrc.c: (gst_alsasrc_init), (gst_alsasrc_getcaps),
(gst_alsasrc_close):
* ext/alsa/gstalsasrc.h:
Implement caps probing for alsasrc.
Original commit message from CVS:
* ext/theora/theoradec.c: (gst_theora_dec_reset),
(theora_dec_src_query), (theora_dec_src_event),
(theora_dec_sink_event), (theora_handle_comment_packet),
(theora_handle_data_packet), (theora_dec_change_state):
Cleanups, add some G_LIKELY.
Use segment helpers instead of our own wrong code.
Clear queued buffers on seek and READY.
* ext/vorbis/vorbisdec.c: (gst_vorbis_dec_reset),
(vorbis_dec_convert), (vorbis_dec_src_query),
(vorbis_dec_src_event), (vorbis_dec_sink_event),
(vorbis_handle_comment_packet), (vorbis_dec_push),
(vorbis_handle_data_packet), (vorbis_dec_chain),
(vorbis_dec_change_state):
* ext/vorbis/vorbisdec.h:
Remove old useless packetno variable.
Do position query properly.
Add some G_LIKELY.
Do cleanup of queued buffers in new helper function
and use it.
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:
* ext/vorbis/vorbisdec.c: (vorbis_get_query_types),
(vorbis_dec_convert), (vorbis_dec_src_query),
(vorbis_dec_sink_query), (vorbis_dec_src_event),
(vorbis_dec_sink_event), (vorbis_handle_identification_packet),
(vorbis_dec_clean_queued), (vorbis_dec_push),
(vorbis_handle_data_packet), (vorbis_dec_change_state):
Cleanups. Use refcounting and DEBUG_OBJECT.
Reset segment on flush, use code methods instead of our
own wrong version.
Fix potential memleak.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsasink_finalise),
(gst_alsasink_init):
* ext/alsa/gstalsasink.h:
Don't leak allocated snd_output_t structure if there's
more than one alsasink instance at a time (#341873).
Also fix GObject macros in header file.
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:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_packet):
Fix seeking performance in the case where a non-header
packet has a 0 granulepos (busted theora case).
Fixes#341719
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:
* configure.ac:
Build video4linux plugin even if there's no XVIDEO, just
without implementing the GstXOverlay interface (#334002).
Original commit message from CVS:
* configure.ac:
* ext/libvisual/visual.c: (gst_visual_actor_plugin_is_gl),
(plugin_init):
Add tentative support for libvisual-0.4 (#336881).
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:
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_init),
(gst_gnome_vfs_src_received_headers_callback):
* ext/gnomevfs/gstgnomevfssrc.h:
Don't set icy-caps unless we have a sane interval value. Move
interval to a local variable; we never use it outside this function.
Original commit message from CVS:
* sys/ximage/ximagesink.c: (gst_ximagesink_get_type):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_type):
Register special buffer types along with the objects so
that they are not registered at runtime from N different
streaming threads since they are not threadsafe.
Original commit message from CVS:
* tests/check/elements/multifdsink.c: (wait_bytes_served),
(GST_START_TEST), (fail_unless_read), (multifdsink_suite):
add two more tests, one doing streamheader
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:
* tests/examples/volume/volume.c:
Fox if core was built without parsing support.
* tests/examples/seek/seek.c:
Disable the parse_launch example if core was built without parsing
support.
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/elements/adder.c: (event_loop), (GST_START_TEST):
Disable the adder test, until the build-slaves posses the kindness to
either like it or to give valid reason for not doing so
Original commit message from CVS:
* tests/check/elements/adder.c: (event_loop), (GST_START_TEST),
(adder_suite):
Shuffle NULL state change around and raise timeout 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:
2006-05-05 Andy Wingo <wingo@pobox.com>
* ext/theora/theoraparse.c (gst_theora_parse_init)
(theora_parse_src_convert, theora_parse_src_query):
* ext/vorbis/vorbisparse.c (gst_vorbis_parse_init)
(vorbis_parse_convert, vorbis_parse_src_query): Add convert and
query functions on the source pads of the theora and vorbis parse
elements. Fixes position querying when doing a remux.
Original commit message from CVS:
* ext/theora/theoraparse.c: (parse_granulepos),
(theora_parse_drain_queue_prematurely),
(theora_parse_queue_buffer), (theora_parse_sink_event):
Fix flushing.
Fix invalid granulepos outputs when starting with a non-keyframe.
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:
* ext/vorbis/vorbisdec.c: (vorbis_dec_sink_event),
(vorbis_dec_push), (vorbis_dec_chain):
Still produce an error when we receive an empty packet.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_chain_peer),
(gst_ogg_chain_mark_discont), (gst_ogg_chain_new_stream),
(gst_ogg_demux_activate_chain), (gst_ogg_demux_perform_seek):
Mark buffers with DISCONT after seek and after activating new
chains.
* ext/theora/gsttheoradec.h:
* ext/theora/theoradec.c: (gst_theora_dec_reset),
(theora_get_query_types), (theora_dec_sink_event),
(theora_dec_push), (theora_handle_data_packet), (theora_dec_chain),
(theora_dec_change_state):
Fix frame counter.
Detect and mark DISCONT buffers.
* ext/vorbis/vorbisdec.c: (vorbis_dec_src_query),
(vorbis_dec_sink_event), (vorbis_dec_push), (vorbis_dec_chain),
(vorbis_dec_change_state):
* ext/vorbis/vorbisdec.h:
Use GstSegment.
Detect and mark DISCONT buffers.
Don't crash on 0 sized buffers.
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:
* tests/check/elements/audioconvert.c: (verify_convert),
(GST_START_TEST):
interpret the out[] buffer in the order the bytes are actually
put in, which is LITTLE_ENDIAN, not BYTE_ORDER.
Other tests should use BYTE_ORDER since the array is filled in
with actual values
Original commit message from CVS:
* tests/check/elements/audioconvert.c: (verify_convert),
(GST_START_TEST):
when a test fails, give an indication of which it is
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:
* ext/alsa/gstalsasink.c: (gst_alsasink_getcaps),
(alsasink_parse_spec):
query witdh capabilities from alsa, fixes#338919
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-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_drain), (gst_base_audio_sink_event),
(gst_base_audio_sink_render), (gst_base_audio_sink_change_state):
patch to make timestamp checking more tollerant to rounding
errors given that real discontinuities are to be marked on
buffers. Fixes some asf files and #338778.
Also avoid some crashers when we receive an event in the
NULL state.
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_class_init),
(gst_gnome_vfs_src_init), (gst_gnome_vfs_src_finalize),
(gst_gnome_vfs_src_get_property),
(gst_gnome_vfs_src_send_additional_headers_callback),
(gst_gnome_vfs_src_received_headers_callback),
(gst_gnome_vfs_src_create), (gst_gnome_vfs_src_start),
(gst_gnome_vfs_src_stop):
* ext/gnomevfs/gstgnomevfssrc.h:
Remove ICY handling (mostly) from gnomevfssrc, in favour of
proper shared support within icydemux.
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-libs/gst/audio/gstbaseaudiosrc.c: (gst_base_audio_src_init),
(gst_base_audio_src_get_time), (gst_base_audio_src_create):
GstBaseAudioSrc must be live or it does not work.
* gst-libs/gst/audio/gstaudiosrc.c: (gst_audio_src_init):
Don't set live to TRUE as this is the default in the parentclass.
Original commit message from CVS:
* tests/check/elements/audioconvert.c: (get_float_caps),
(GST_START_TEST), (audioconvert_suite):
Added check for correct clipping when doing float samples
in audioconvert.
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:
Patch by: Young-Ho Cha <ganadist at chollian net>
* ext/pango/gsttextoverlay.c: (gst_text_overlay_init),
(gst_text_overlay_render_text):
Don't strip newlines from the text. Also, center lines
within multi-line paragraphs (#339405).
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:
2006-04-26 Thomas Vander Stichele <thomas at apestaart dot org>
patch by: Wim Taymans
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_packet),
(gst_ogg_demux_perform_seek):
make sure correct newsegments are sent, so that the decoder
and the demuxer agree on timestamps. Fixes playback of a lot
of Ogg files that do not start from 0. Fixes#339833.
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:
2006-04-12 Philippe Kalaf <philippe.kalaf@collabora.co.uk>
* gst-libs/gst/rtp/gstrtpbuffer.h:
Added GST_RTP_PAYLOAD_DYNAMIC_STRING for use by children
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
* gst-libs/gst/rtp/gstbasertpaudiopayload.h:
New RTP audio base payloader class. Supports frame or sample based codecs
Original commit message from CVS:
Patch by: Antoine Tremblay <hexa00 at gmail dot com>
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_finalize), (gst_base_rtp_depayload_push):
Fix some memory leaks: on finalize, free buffers left in the queue
before destroying the queue; in _push(), unref rtp_buf even if
the process vfunc returned a NULL buffer as output buffer (#337548);
demote some recuring debug messages to LOG level.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_src_query),
(gst_ogg_demux_chain_peer), (gst_ogg_pad_submit_packet),
(gst_ogg_chain_free), (gst_ogg_demux_sink_event),
(gst_ogg_demux_loop):
More cleanups.
Respect segment stop when emiting EOS or SEGMENT_DONE.
Fixes (#337945).
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/gst-plugins-base.supp:
Suppress an old libtheora bug (fixed in more recent versions), so
that FC4 buildslaves can pass.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_src_query),
(gst_ogg_demux_receive_event), (gst_ogg_pad_event),
(gst_ogg_demux_init), (gst_ogg_demux_finalize),
(gst_ogg_demux_sink_event), (gst_ogg_demux_get_data),
(gst_ogg_demux_loop):
Don't leak events.
Remember what error we got when finding chains, if we
were shutdown, that would not be an error.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_event):
Starting the ringbuffer when we did not acquire it can cause
a deadlock, is pointless and causes nasty things for
subclasses.
Fixes gst-launch audiotestsrc num-buffers=0 ! alsasink.
Original commit message from CVS:
* ext/theora/theoradec.c: (theora_dec_src_event),
(theora_handle_data_packet):
Some more debug info.
* tests/examples/seek/seek.c: (start_seek), (main):
Print element messages too.
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:
* ext/alsa/gstalsasink.c: (set_hwparams), (alsasink_parse_spec):
More debug to trace why my USB headset is not working with gst
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:
* ext/vorbis/vorbisenc.c: (gst_vorbis_enc_set_header_on_caps),
(gst_vorbis_enc_chain):
Remove leaks from vorbisenc.
Mostly minor changes, the only significant one is that now the
buffers we set as 'streamheader' on the caps are copies of the
original buffers, to avoid circular refcounting problems.
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-06 Andy Wingo <wingo@pobox.com>
* ext/ogg/gstoggmux.c (gst_ogg_mux_push_buffer): Set caps on
buffers being pushed out. Fixes oggmux ! multifdsink.
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:
2006-04-04 Andy Wingo <wingo@pobox.com>
* ext/theora/theoradec.c (theora_handle_data_packet): This value
is often negative -- make it signed so as not to wrap around.
Fixes segfaults introduced on 9 March.
Original commit message from CVS:
* ext/theora/gsttheoradec.h:
* ext/theora/theoradec.c: (theora_dec_src_event):
Don't try to store a gdouble in a gboolean.
Small cleanups.
Original commit message from CVS:
* ext/ogg/gstoggmux.c: (gst_ogg_mux_queue_pads):
Oggmux sucks.
Make it suck slightly less by writing out the final page.
Still can't encode a vorbis-in-ogg file correctly, though.
Original commit message from CVS:
2006-04-03 Andy Wingo <wingo@pobox.com>
* ext/theora/theora.c (plugin_init): Register theoraparse.
* ext/theora/gsttheoraparse.h:
* ext/theora/theoraparse.c: New files implementing a theora
parser. Now we can properly remux ogg/theora+vorbis, yay.
Original commit message from CVS:
2006-03-31 Andy Wingo <wingo@pobox.com>
* ext/vorbis/vorbisparse.c (vorbis_parse_sink_event): Fix
uninitialized variable return that would happen.
Original commit message from CVS:
2006-03-31 Andy Wingo <wingo@pobox.com>
* ext/vorbis/vorbisparse.c (vorbis_parse_drain_queue): Fix
uninitialized variable return that would never happen.
Original commit message from CVS:
2006-03-31 Andy Wingo <wingo@pobox.com>
* ext/vorbis/vorbisparse.c (gst_vorbis_parse_init)
(vorbis_parse_sink_event): Add an event function to flush our
state on a seek, and to drain buffers on a premature EOS.
(vorbis_parse_push_headers, vorbis_parse_clear_queue)
(vorbis_parse_push_buffer, vorbis_parse_drain_queue_prematurely)
(vorbis_parse_chain, vorbis_parse_queue_buffer)
(vorbis_parse_drain_queue): Queue up buffers until we can set
their timestamps and granulepos values.
* ext/vorbis/vorbisparse.h: Include the vorbis decoder headers,
and keep track of data needed for deriving granulepos and
timestamps for buffers.
Original commit message from CVS:
* tests/examples/seek/seek.c: (end_scrub), (seek_cb), (start_seek),
(stop_seek):
Don't let double and tripple clicks mess up our state.
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:
Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_finalize),
(gst_gnome_vfs_src_get_icy_metadata):
Fix some minor memory leaks (#336194).
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfs.c:
(gst_gnome_vfs_location_to_uri_string):
* ext/gnomevfs/gstgnomevfs.h:
* ext/gnomevfs/gstgnomevfssink.c:
(gst_gnome_vfs_sink_set_property):
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_set_property):
Make gnomevfssink accept filenames as well as URIs for the
"location" property, just like gnomevfssrc does (and
filesrc/filesink do) (#336190).
Original commit message from CVS:
* tests/check/generic/clock-selection.c: (GST_START_TEST):
set to NULL before unreffing, fixes a valgrind leak.
Why was this not triggering the error that an object needs to
be NULL before unreffing ?
* win32/common/config.h:
update
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:
2006-03-24 Thomas Vander Stichele <thomas at apestaart dot org>
* configure.ac:
update core requirement to 0.10.4.1 because of async_playback
vmethod on GstBaseSink
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:
* win32/common/libgstinterfaces.def:
Add a lot of export functions for gst-python
* win32/common/libgstinterfaces.dsp:
Add a missing include folder in the project configuration
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_get_time), (gst_base_audio_src_create),
(gst_base_audio_src_change_state):
Fix audio sources, forgot to make the ringbuffer
startable...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_get_time), (gst_base_audio_src_create),
(gst_base_audio_src_change_state):
unparent instead of unref the ringbuffer.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_class_init), (gst_base_audio_sink_async_play),
(gst_base_audio_sink_do_play), (gst_base_audio_sink_change_state):
Implement new async_play vmethod to start slaving and allow
playback start in case of async PLAY state changes.
* gst-libs/gst/video/gstvideosink.c: (gst_video_sink_init):
Enable QoS with new method in base class.
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:
* docs/design/design-decodebin.txt:
Added design document for new decodebin
(Target Caps): text/x-pango-markup is also a default target caps.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_dispose):
Since we _parent the ringbuffer, we also need to
_unparent instead of a plain _unref.
Original commit message from CVS:
* ext/ogg/gstoggparse.c: (gst_ogg_parse_find_stream),
(gst_ogg_parse_chain):
Fix very inefficient usage of linked lists (#335365).
Original commit message from CVS:
2006-03-20 Julien MOUTTE <julien@moutte.net>
* sys/xvimage/xvimagesink.c:
(gst_xvimagesink_get_format_from_caps): Fix a memleak reported
by Jan Schmidt.
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-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_change_state):
* gst-libs/gst/audio/gstringbuffer.c: (wait_segment),
(gst_ring_buffer_may_start):
* gst-libs/gst/audio/gstringbuffer.h:
Only start playback if we are playing.
should fix#330748.
Original commit message from CVS:
Patch by: Michal Benes <michal dot benes at xeris dot cz>
* tests/Makefile.am:
Don't try to build tests in tests/icles if we
don't have X (#323852)
Original commit message from CVS:
* gst-libs/gst/tag/gstid3tag.c:
Add TXXX frame identifiers for replaygain stuff as used
by some taggers (see #323721).
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: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_pop_callbacks):
Don't forget to set src->callbacks_pushed to FALSE again when
popping them, otherwise re-activation in a different mode won't
work (#334620).
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:
Patch by: Fabrizio Gennari <fabrizio dot ge at tiscali dot it>
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps):
Make sure the buffer we copy into is really always big
enough, this time for real (#333488).
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:
* docs/plugins/gst-plugins-base-plugins-docs.sgml:
* docs/plugins/gst-plugins-base-plugins-sections.txt:
* docs/plugins/gst-plugins-base-plugins.hierarchy:
Add cdparanoiasrc to docs.
* gst-libs/gst/cdda/gstcddabasesrc.c:
More GstCddaBaseSrc docs.
Original commit message from CVS:
* docs/libs/gst-plugins-base-libs-sections.txt:
* gst-libs/gst/tag/gstid3tag.c: (gst_tag_from_id3_user_tag):
* gst-libs/gst/tag/tag.h:
Add new API to libgsttag: gst_tag_from_id3_user_tag().
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:
* ext/gnomevfs/gstgnomevfssrc.c:
(gst_gnome_vfs_src_check_get_range):
gnome_vfs_uri_is_local() alone is not a good indicator
whether we can operate in pull-mode with a specific URI,
as it returns FALSE for file:// URIs that point to an
NFS-mounted path. Be more conservative here: whitelist
local files, blacklist http URIs and use the old
mechanism for anything else (fixes#334216).
Original commit message from CVS:
* gst-libs/gst/video/gstvideosink.c: (gst_video_sink_init):
Disable max-lateness by setting it to -1 for now, so that
we can bed QoS stuff in thoroughly between now and the next
release.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps):
Make sure we don't read beyond the palette buffer in case of
broken or manipulated files (#333488, patch by: Fabrizio
Gennari)
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfssrc.c: (audiocast_init),
(audiocast_register_listener), (gst_gnome_vfs_src_start):
Some cleanups.
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:
* ext/pango/gsttextoverlay.c: (gst_text_overlay_class_init),
(gst_text_overlay_init), (gst_text_overlay_set_property),
(gst_text_overlay_get_property):
Revert API/ABI break from March 1. Keep 'halign' and 'valign'
as string type properties, but mark them deprecated. Add
'halignment' and 'valignment' properties that use enums
instead of strings.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps):
Allow palettes with less than 256 colours in AVI files
(#333488, patch by: Fabrizio Gennari).
Original commit message from CVS:
2006-03-07 Julien MOUTTE <julien@moutte.net>
* ext/pango/gsttextoverlay.c: (gst_text_overlay_text_event),
(gst_text_overlay_video_event): Fix wrong EOS handling on text
pad. We were releasing the queued text buffer when we should keep
it until video pad gets EOS or discard the text buffer because it's
too old. That was eating the last subtitle buffer. Add some more
debug.
Original commit message from CVS:
* ext/pango/gsttextoverlay.c: (gst_text_overlay_render_text),
(gst_text_overlay_video_chain):
Fix invalid memory access (we can't access a buffer after it's been
pushed downstream without taking a reference); fix memory leak (if
there's no text to render, bail out before allocating stuff).
Original commit message from CVS:
* ext/pango/gsttextoverlay.c: (gst_text_overlay_init),
(gst_text_overlay_setcaps_txt), (gst_text_overlay_video_chain):
* ext/pango/gsttextoverlay.h:
If input is plain text, escape it before passing it to
pango_layout_set_markup().
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_class_init),
(gst_gnome_vfs_src_check_get_range):
Override GstBaseSrc::check_get_range() in order to avoid opening
the resource just to check whether we can operate in pull-mode or
not - we can predict that pretty well from the URI alone. Should
fix problems with last.fm (#331690). (Requires latest core CVS).
Original commit message from CVS:
* gst-libs/gst/video/gstvideosink.c: (gst_video_sink_init),
(gst_video_sink_class_init):
Throw away frames that are later than 20 ms.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
Set depth on WMA caps (#333545, patch by: Fabrizio Gennari).
Original commit message from CVS:
* ext/ogg/gstoggmux.c: (gst_ogg_mux_buffer_from_page),
(gst_ogg_mux_send_headers), (gst_ogg_mux_collected):
put Theora BOS pages before others. This hardcodes
the Ogg/Theora I profile, but hey.
Original commit message from CVS:
ogg muxing of vorbis and theora now has pages ordered correctly again,
even with delays.
* ext/ogg/README:
updated with some examples
* ext/theora/theoraenc.c: (granulepos_to_timestamp),
(granulepos_add), (theora_buffer_from_packet):
* ext/vorbis/vorbisenc.c: (granulepos_to_timestamp_offset),
(granulepos_to_timestamp), (gst_vorbisenc_buffer_from_packet),
(gst_vorbisenc_chain):
implement strategy from ext/ogg/README
* ext/ogg/gstoggmux.c: (gst_ogg_mux_buffer_from_page),
(gst_ogg_mux_push_buffer), (gst_ogg_mux_dequeue_page),
(gst_ogg_mux_pad_queue_page), (gst_ogg_mux_compare_pads),
(gst_ogg_mux_queue_pads), (gst_ogg_mux_collected):
Fix muxer so that oggz-validate is happy with all streams;
except for no eos mark, and the BOS page ordering
* tests/check/pipelines/theoraenc.c: (check_buffer_is_header),
(check_buffer_granulepos):
* tests/check/pipelines/vorbisenc.c: (check_buffer_granulepos):
update tests to check for OFFSET being set as requested
fixed type of granulepos, it's not a ClockTime
Original commit message from CVS:
2006-03-05 Julien MOUTTE <julien@moutte.net>
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xvimage_new),
(gst_xvimagesink_show_frame), (gst_xvimagesink_buffer_alloc):
Check that the xvimage we are creating has a correct size before returning it. (#314897)
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:
* configure.ac:
Bump requirements to GStreamer CVS for the new error enum.
* ext/gnomevfs/gstgnomevfssink.c: (gst_gnome_vfs_sink_render):
Emit new GST_RESOURCE_ERROR_NO_SPACE_LEFT when there's no
space left on the device (fixes#333352).
Original commit message from CVS:
2006-03-03 Thomas Vander Stichele <thomas at apestaart dot org>
* ext/theora/theoraenc.c: (theora_set_header_on_caps):
* tests/check/pipelines/theoraenc.c: (check_buffer_is_header),
(GST_START_TEST):
Fix for http://bugzilla.gnome.org/show_bug.cgi?id=333254
Set IN_CAPS on header buffers
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:
* ext/ogg/gstogmparse.c: (gst_ogm_parse_class_init),
(gst_ogm_audio_parse_init), (gst_ogm_video_parse_init),
(gst_ogm_text_parse_init), (gst_ogm_parse_change_state):
In state change function, first chain up to parent class,
then handle downwards state change stuff. Remove some
commented out cruft from 0.8 code.
Original commit message from CVS:
* ext/ogg/gstogmparse.c: (gst_ogm_audio_parse_init),
(gst_ogm_video_parse_init), (gst_ogm_text_parse_init),
(gst_ogm_parse_sink_convert), (gst_ogm_parse_sink_query),
(gst_ogm_parse_chain):
Don't remove/re-add source pad if the new caps are the same as
the old caps anyway (#333042). When removing source pad, don't
unref it afterwards - we didn't ref it when adding. Sprinkle some
GST_DEBUG_FUNCPTR goodness here and there. Don't leak references
after using gst_pad_get_parent(). Return downstream flow return
value in chain function.
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-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_provide_clock):
Don't try to provide a clock in the NULL state.
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:
* ext/libvisual/visual.c: (gst_visual_init),
(gst_vis_src_negotiate), (get_buffer), (plugin_init):
Don't use gst_pad_use_fixed_caps, because it prevents downstream from
being able to renegotiate the size. Instead, use the negotiation
algorithm from the goom plugin to pick an initial output caps.
Also, allow theoretical libvisual plugins that might support non-GL
output even if they also do GL.
Original commit message from CVS:
2006-02-26 Julien MOUTTE <julien@moutte.net>
* ext/libvisual/visual.c: (gst_visual_init),
(gst_visual_src_setcaps), (get_buffer), (gst_visual_chain),
(plugin_init): Load only non GL plugins. Fix some memleaks and
possible negotiation issues.
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:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_parse_skeleton_fishead),
(gst_ogg_pad_parse_skeleton_fisbone), (gst_ogg_pad_query_convert),
(gst_ogg_demux_chain_peer), (gst_ogg_pad_submit_packet),
(gst_ogg_demux_perform_seek), (gst_ogg_demux_read_chain),
(gst_ogg_demux_read_end_chain), (gst_ogg_demux_collect_chain_info),
(gst_ogg_demux_change_state), (gst_annodex_granule_to_time):
Annodex support in ogg demuxer. Doesn't do very much without the
other annodex patches (to come).
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps):
Pick up palette for MS video v1 (#327028, patch by:
Fabrizio Gennari <fabrizio dot get at tiscali dot it>)
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:
* sys/ximage/Makefile.am:
* sys/xvimage/Makefile.am:
Add some _CFLAGS and _LIBS that seem to be missing
and/or required for Cygwin (see #317048).
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:
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_get_volume):
Fix issues with mixer keeping state when muting/unmuting
and when changing the volume whilst muted (see #331763
and #331765).
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-libs/gst/audio/mixerutils.c:
(element_factory_rank_compare_func):
Make order in which elements are tried more determinable.
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:
* ext/gnomevfs/gstgnomevfssink.c: (gst_gnome_vfs_sink_open_file):
use 0666 mask when creating files so umask gets applied
correctly. Fixes#331295.
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:
* sys/ximage/ximagesink.c: (gst_ximagesink_check_xshm_calls),
(gst_ximagesink_ximage_new), (gst_ximagesink_ximage_destroy):
* sys/xvimage/xvimagesink.c: (gst_xvimage_buffer_destroy),
(gst_xvimagesink_check_xshm_calls), (gst_xvimagesink_xvimage_new):
Set shared memory segments to be deleted as soon as we have attached,
that way they get cleaned up automatically if we crash.
Original commit message from CVS:
2006-02-18 Julien MOUTTE <julien@moutte.net>
* ext/pango/gstclockoverlay.c: (gst_clock_overlay_get_text):
* ext/pango/gsttimeoverlay.c: (gst_time_overlay_get_text): Those
functions are called with lock held.
Original commit message from CVS:
* ext/vorbis/vorbisenc.c: (gst_vorbisenc_convert_src),
(gst_vorbisenc_convert_sink):
Use some more scaling functions.
Original commit message from CVS:
* ext/cdparanoia/gstcdparanoiasrc.c:
(gst_cd_paranoia_src_class_init), (gst_cd_paranoia_dummy_callback),
(gst_cd_paranoia_paranoia_callback),
(gst_cd_paranoia_src_signal_is_being_watched),
(gst_cd_paranoia_src_read_sector):
* ext/cdparanoia/gstcdparanoiasrc.h:
Add back 'transport-error' and 'uncorrected-error' signals and
make them actually be fired when bad stuff happens (#319340).
Original commit message from CVS:
* gst-libs/gst/audio/TODO:
Update TODO
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_get_offset):
When trying to play samples ASAP and we don't have a
previous sample, try to play at position 0 instead of
an invalid position.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsasink_open),
(gst_alsasink_reset):
Also release lock when we get an error in _reset();
fix an error message.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsasink_class_init),
(gst_alsasink_init), (get_channel_free_structure),
(caps_add_channel_configuration), (gst_alsasink_getcaps),
(gst_alsasink_close):
* ext/alsa/gstalsasink.h:
Add support for more than 2 channels (#326720).
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
Set codec_name for WAVEFORMATEX as well. When we have 'normal PCM'
with 4 or 6 channels, assume a default channel layout to make things
work (not sure there's anything else we can do in those cases).
Original commit message from CVS:
* gst-libs/gst/audio/multichannel.c:
Minor docs fix.
* gst-libs/gst/riff/Makefile.am:
* gst-libs/gst/riff/riff-ids.h:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_wavext_add_channel_layout), (gst_riff_create_audio_caps):
Add support for WAVEFORMATEX, eg. PCM audio with more than two
channels and a channel layout map.
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-libs/gst/audio/multichannel.c:
(gst_audio_get_channel_positions):
When we have more than 2 channels, but no channel layout is
specified in the caps, return some default channel layout
to the caller and warn about about a possibly buggy element
(could be buggy filtercaps as well of course) (#317038).
Original commit message from CVS:
2006-02-15 Andy Wingo <wingo@pobox.com>
* ext/ogg/gstoggmux.c (gst_ogg_mux_collected): When updating
timestamp, update timestamp_end as well. Fixes a bugaboo. I hope
to the Lord Jesus that I do not have to touch the ogg muxer ever
again.
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-libs/gst/audio/gstringbuffer.c:
(gst_ring_buffer_pause_unlocked), (gst_ring_buffer_delay),
(gst_ring_buffer_samples_done), (wait_segment),
(gst_ring_buffer_commit), (gst_ring_buffer_clear):
Add some compiler G_(UN_)LIKELY help.
SIGNAL the ringbuffer waiters when going to PAUSED as well to
make sure they can exit their functions. Should fix#330748
Original commit message from CVS:
* Makefile.am:
* configure.ac:
* win32/MANIFEST:
* win32/common/_stdint.h:
Windows does not have long long; copy the generated _stdint.h
* win32/common/interfaces-enumtypes.c:
(gst_color_balance_type_get_type), (gst_mixer_type_get_type),
(gst_mixer_track_flags_get_type),
(gst_tuner_channel_flags_get_type):
* win32/common/multichannel-enumtypes.c:
(gst_audio_channel_position_get_type):
update
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_get_time), (gst_base_audio_sink_preroll),
(gst_base_audio_sink_render), (gst_base_audio_sink_change_state):
Always sync on first sample we receive when starting.
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-libs/gst/cdda/gstcddabasesrc.c: (gst_cdda_base_src_create):
No need to push an EOS event here, GstBaseSrc will do that for us
when we return FLOW_UNEXPECTED.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_get_time), (gst_base_audio_sink_setcaps),
(gst_base_audio_sink_drain), (gst_base_audio_sink_preroll),
(gst_base_audio_sink_render), (gst_base_audio_sink_change_state):
Use scale functions when possible.
Fix error messages.
Free clockid when after waiting for EOS.
Use G_(UN_)LIKLY when it makes sense.
Fix sample clipping bug found by Arwed v. Merkatz fixes#330789.
Original commit message from CVS:
* sys/ximage/ximagesink.c: (gst_ximagesink_check_xshm_calls):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_check_xshm_calls):
Fix up the XShm call testing so that we catch errors, and don't
cause new ones by attempting to detach from a segment we failed
to attach to. Fixes#312439.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps),
(gst_riff_create_video_template_caps):
Added FLV1 <==> 'video/x-flash-video,flvversion=1' conversion.
Also added the caps to the default set of riff video caps.
Original commit message from CVS:
2006-02-09 Andy Wingo <wingo@pobox.com>
* ext/ogg/gstoggmux.c (GstOggPad): Keep track of both the start
time and the end time of the last packet in the page.
(gst_ogg_mux_pad_queue_page): In addition to setting the timestamp
on the pages in our queue, set the duration as well. Reflow a
debug statement.
(gst_ogg_mux_collected): Keep track of GstOggPad->timestamp_end.
Fixes bad muxing order.
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertppayload.c:
(gst_basertppayload_setcaps), (gst_basertppayload_push):
update seqnum before setting it on the packet; this makes sure
that the timestamp and seqnum properties match after pushing
a buffer
Original commit message from CVS:
2006-02-09 Andy Wingo <wingo@pobox.com>
* gst-libs/gst/audio/gstringbuffer.c
(gst_ring_buffer_samples_done): Cast to guint64, fixes an integer
overflow after 13.5 hours of recording. Kapow!
* ext/alsa/gstalsasrc.c (gst_alsasrc_delay): Clamp the delay to
the buffer size -- we don't care about underrun/overrun reporting
right now, just need to return a useful value.
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-libs/gst/tag/gstvorbistag.c: (gst_tag_from_vorbis_tag),
(gst_tag_to_vorbis_tag):
Make sure we called gst_tag_register_musicbrainz_tags()
before possibly mapping a vorbiscomment string from/to a
musicbrainz tag.
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:
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_create):
Treat GNOME_VFS_RESULT_EOF as EOS, not as error (#329194).
Post an error message on the bus when we encounter an
error, which will hopefully be more meaningful than the
'Internal Flow Error' message users get to see if we
just return GST_FLOW_ERROR.
Original commit message from CVS:
2006-02-07 Andy Wingo <wingo@pobox.com>
* configure.ac (GST_MAJORMINOR): Update core version req to
0.10.2.2, for the collectpads API addition (#330244).
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfs.c: (plugin_init):
Return FALSE from plugin_init() when GnomeVFS can't
be initialised for some reason (#328423).
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:
* ext/theora/theoraenc.c: (gst_theora_enc_class_init),
(theora_enc_finalize), (theora_enc_sink_setcaps),
(theora_set_header_on_caps), (theora_enc_chain),
(theora_enc_change_state):
* tests/check/pipelines/theoraenc.c: (GST_START_TEST):
Make theoraenc and the tests leak free. Like, really.
Original commit message from CVS:
(theora_enc_finalize), (theora_enc_sink_setcaps):
Add a finalize method to ensure we clean up state even if
someone omitted the state change back to NULL.
* ext/vorbis/vorbisenc.c: (gst_vorbisenc_metadata_set1),
(gst_vorbisenc_chain):
Free some more leaked bits.
* tests/check/pipelines/theoraenc.c: (start_pipeline),
(stop_pipeline):
Wait for state changes to happen if they're ASYNC.
This ought to teach those fancy pants buildbots a lesson.
Original commit message from CVS:
* docs/libs/compiling.sgml:
Fix typo: it's pkg-config, not pkg-gconfig
* docs/libs/gst-plugins-base-libs-docs.sgml:
* docs/libs/gst-plugins-base-libs-sections.txt:
* docs/libs/tmpl/gstgconf.sgml:
There is no libgstgconf in 0.10, remove it
from the docs.
Original commit message from CVS:
* gst-libs/gst/tag/gstvorbistag.c: (gst_vorbis_tag_add):
Add comment about LANGUAGE tag inconsistency (we want
ISO-639-1, but extract three-letter identifiers?)
* po/POTFILES.in:
Add two translatable files.
Original commit message from CVS:
* gst-libs/gst/tag/Makefile.am:
* gst-libs/gst/tag/gstvorbistag.c: (gst_vorbis_tag_add):
* gst-libs/gst/tag/tag.h:
* gst-libs/gst/tag/tags.c:
(gst_tag_register_musicbrainz_tags_internal),
(gst_tag_register_musicbrainz_tags):
Forward-port some tags stuff from the 0.8 branch. This is
mostly the addition of musicbrainz tags and their mapping
to vorbistags, and a vorbistag mapping of the language tag.
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:
* ext/alsa/gstalsasink.c: (gst_alsasink_finalise),
(gst_alsasink_class_init), (gst_alsasink_init),
(gst_alsasink_write), (gst_alsasink_reset):
* ext/alsa/gstalsasink.h:
Add lock to protect alsa calls.
Implement reset to flush samples ASAP, does not work
with dmix though.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_provide_clock),
(gst_base_audio_sink_set_property),
(gst_base_audio_sink_get_property), (gst_base_audio_sink_render):
Don't try to provide a clock when we are not negotiated since
we might not be able to make it run.
Original commit message from CVS:
* gst-libs/gst/audio/TODO:
Updated.
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_drain), (gst_base_audio_sink_event):
On EOS, wait till the last sample is played before posting EOS.
Original commit message from CVS:
2006-02-01 Philippe Kalaf <burger at speedy dot org>
* gst-libs/gst/rtp/gstbasertpdepayload.c:
Patch by Kai Vehmanen : Adds ability to enable newsegment bypass by
setting queue_delay to zero. Also avoid thread being started if
queue_delay is zero.
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:
* ext/vorbis/vorbisdec.c: (vorbis_dec_convert),
(vorbis_handle_header_packet), (vorbis_dec_push),
(vorbis_handle_data_packet):
Use scale_int when we can, add some more scaling.
Check packettype before parsing it.
Original commit message from CVS:
* ext/theora/theoradec.c: (_theora_granule_time),
(theora_dec_src_convert), (theora_dec_sink_convert):
Call right _scale functions.
Use parameter instead of some other random value.
Original commit message from CVS:
* ext/theora/theoradec.c: (_theora_granule_frame),
(_theora_granule_time), (_inc_granulepos),
(theora_dec_src_convert), (theora_dec_sink_convert),
(theora_handle_type_packet), (theora_handle_data_packet),
(theora_dec_chain):
Use higher precision timestamps calculation.
Convert some other conversions to _scale.
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:
* tests/check/pipelines/theoraenc.c:
* tests/check/pipelines/vorbisenc.c:
Define constant using G_GINT64_CONSTANT to avoid errors when
passing it around - otherwise it gets truncated to 32 bits.
Fixes failing tests.
Original commit message from CVS:
2006-01-31 Andy Wingo <wingo@pobox.com>
* sys/v4l/gstv4lsrc.c (gst_v4lsrc_set_caps): Don't segfault if the
caps being set doesn't have a framerate value. Basically a stopgap
measure.
* ext/ogg/gstoggmux.c (GST_BUFFER_END_TIME): New macro. Not
technically correct enough to put into core though.
(gst_ogg_mux_dequeue_page): Use END_TIME instead of TIMESTAMP +
DURATION. Fixes theoraenc ! oggmux.
* sys/v4l/gstv4lsrc.c (gst_v4lsrc_fixate): Fixate to the nearest
fraction, not double.
Original commit message from CVS:
2006-01-30 Andy Wingo <wingo@pobox.com>
* ext/ogg/gstoggmux.c (gst_ogg_mux_dequeue_page): Compare
timestamp + duration, not just timestamp -- ogg pages should be
ordered by stop time. Necessary fix given the change in vorbis
timestamps.
Original commit message from CVS:
2006-01-30 Andy Wingo <wingo@pobox.com>
* ext/theora/theoraenc.c (theora_enc_sink_setcaps)
(gst_theora_enc_init): Pull the granule shift out of the encoder.
(granulepos_add): New function, handles the messiness of adjusting
granulepos values.
(theora_buffer_from_packet):
(theora_enc_chain):
(theora_enc_sink_event): Use granulepos_add, not +.
* tests/check/pipelines/theoraenc.c
(check_buffer_granulepos_from_starttime): Just check the frame
count, not the actual granulepos -- we can't dictate to the
encoder when it should be placing keyframes.
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_start):
SERVICE_NOT_AVAILABLE happens for example when you're trying to
play an http:// stream from a server that's not serving
Original commit message from CVS:
2006-01-30 Andy Wingo <wingo@pobox.com>
* tests/check/pipelines/vorbisenc.c (TIMESTAMP_OFFSET):
* tests/check/pipelines/theoraenc.c (TIMESTAMP_OFFSET): Totally
remove the UINT64_CONSTANT macro, doesn't appear to be needed or
available.
Original commit message from CVS:
2006-01-30 Andy Wingo <wingo@pobox.com>
* ext/theora/gsttheoraenc.h:
* ext/theora/theoraenc.c: Same changes as were done to vorbisenc,
although theoraenc was timestamping correctly. Added handling of
streams that start with nonzero timestamps.
* tests/check/Makefile.am:
* tests/check/pipelines/theoraenc.c: New file, basically does same
tests as vorbisenc.
* tests/check/pipelines/vorbisenc.c: I claim these bugs.
Original commit message from CVS:
* gst-libs/gst/audio/gstaudiosink.c:
(gst_audioringbuffer_class_init), (gst_audioringbuffer_release),
(gst_audioringbuffer_pause):
Implement pause that does not wait for completion.
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_render), (gst_base_audio_sink_change_state):
Don't drop buffers when going to PAUSED but perform preroll on
remaining samples now that core base class supports this.
* gst-libs/gst/audio/gstringbuffer.c: (gst_ring_buffer_release),
(gst_ring_buffer_pause_unlocked), (gst_ring_buffer_stop),
(gst_ring_buffer_commit):
Pause should not signal waiters.
Implement return value of _commit correctly.
Original commit message from CVS:
2006-01-30 Andy Wingo <wingo@pobox.com>
* tests/check/Makefile.am (check_vorbis): Add pipelines/vorbisenc.
* ext/vorbis/vorbisenc.c (gst_vorbisenc_buffer_from_packet): Logic
updated to timestamp from the first sample, not the last.
(gst_vorbisenc_buffer_from_header_packet): New function, takes
special care of granulepos and timestamp for header packets.
(gst_vorbisenc_chain): Reflow, fix some leaks, and handle the case
when the first buffer has a nonzero timestamp.
* ext/vorbis/vorbisenc.h (GstVorbisEnc.granulepos_offset)
(GstVorbisEnc.subgranule_offset): New members. Take care of the
case when the first audio buffer we get has a nonzero timestamp.
(GstVorbisEnc.next_ts): Renamed from prev_ts, because now we
properly timestamp vorbis buffers with the time of the first
sample, not the last.
* ext/vorbis/vorbisenc.c (granulepos_to_clocktime): Renamed from
vorbis_granule_time_copy -- now it takes the granule/subgranule
offset into account.
* tests/check/pipelines/vorbisenc.c: New test for correctness of
timestamps, durations, and granulepos on buffers produced by
vorbisenc.
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:
* Makefile.am:
* win32/MANIFEST:
* win32/common/interfaces-enumtypes.c:
(gst_color_balance_type_get_type), (gst_mixer_type_get_type),
(gst_mixer_track_flags_get_type),
(gst_tuner_channel_flags_get_type):
* win32/common/interfaces-enumtypes.h:
* win32/common/multichannel-enumtypes.c:
(gst_audio_channel_position_get_type):
* win32/common/multichannel-enumtypes.h:
add a win32-update rule like in core, and copy over enumtypes files
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsasink_init), (set_hwparams),
(set_swparams), (gst_alsasink_prepare), (gst_alsasink_unprepare),
(gst_alsasink_close), (gst_alsasink_write), (gst_alsasink_reset):
* ext/alsa/gstalsasrc.c: (gst_alsasrc_init), (set_hwparams),
(set_swparams), (gst_alsasrc_open), (gst_alsasrc_prepare),
(gst_alsasrc_unprepare), (gst_alsasrc_read):
Update all error messages. All of them should either use
the default translated message, or actually provide a
translatable string.
Make the string for channel count problems meaningful.
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/libvisual/visual.c: (get_buffer):
When pad_alloc returns a GstFlowReturn other
than GST_FLOW_OK, make sure it is passed upstream.
Original commit message from CVS:
* ext/alsa/gstalsasink.c: (gst_alsasink_finalise),
(gst_alsasink_class_init):
Free the device name string.
* ext/ogg/gstoggmux.c: (gst_ogg_mux_class_init),
(gst_ogg_mux_request_new_pad), (gst_ogg_mux_release_pad),
(gst_ogg_mux_handle_src_event), (gst_ogg_mux_clear_collectpads):
Don't remove a pad from the collectpads structure until it
is released - it's a request pad, and may receive data again
if the element gets moved back to PLAYING state.
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_get_xv_support):
Ensure we turn on double buffering on the Xv port, and
set the colour key to something dark and mysterious that
isn't black.