Original commit message from CVS:
* gst/playback/gstdecodebin.c: (find_dynamic), (dynamic_add),
(close_pad_link), (elem_is_dynamic), (unlinked), (close_link):
Handle the case where an element has multiple pads with
unfixed caps as well as still possibly producing more dynamic
pads by storing each case as a distinct entry in the dynamic list.
Fixes#38223 again.
Original commit message from CVS:
* tests/check/pipelines/theoraenc.c: (check_buffer_granulepos),
(GST_START_TEST):
It would be very bad if, after a discont buffer, we thought every
single following buffer was also discont. So, add to the test to
ensure that this isn't the case.
* ext/theora/theoraenc.c: (theora_enc_is_discontinuous):
... it was the case. So fix it.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (check_queue_event):
Improve debug.
* gst/videoscale/gstvideoscale.c: (gst_video_scale_transform_caps):
Fix width and height range from 16 - 4096 to 1 - MAXINT, just like the
padtemplate caps. Refixes #357577.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (check_queue_event),
(queue_threshold_reached), (queue_out_of_data),
(gen_preroll_element):
Add event probe to see when EOS is in a queue and we can disable the
underrun signals. Fixes#357577.
Original commit message from CVS:
* gst/playback/gstplaybasebin.c: (setup_source),
(gst_play_base_bin_change_state):
Disable rtsp:// uris for the release, it's not good enough yet.
Remove unused var.
Original commit message from CVS:
* ext/theora/theoradec.c: (gst_theora_dec_reset),
(theora_dec_push_forward), (theora_dec_push_reverse),
(theora_handle_data_packet), (theora_dec_decode_buffer),
(theora_dec_flush_decode), (theora_dec_chain_reverse),
(theora_dec_chain_forward), (theora_dec_chain):
Implement reverse playback.
* ext/vorbis/vorbisdec.c: (gst_vorbis_dec_reset),
(vorbis_dec_decode_buffer), (vorbis_dec_flush_decode),
(vorbis_dec_chain_forward):
Clear buffers used for reverse playback in _reset.
No need to set the eos flag, we clip samples using the segment.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_page_copy), (gst_ogg_page_free),
(gst_ogg_pad_init), (gst_ogg_pad_dispose), (gst_ogg_pad_reset),
(gst_ogg_pad_stream_out), (gst_ogg_pad_submit_page),
(gst_ogg_chain_reset), (gst_ogg_demux_perform_seek):
Some cleanups.
Handle continued pages in reverse mode.
Original commit message from CVS:
* ext/vorbis/vorbisdec.c: (vorbis_dec_push_forward),
(vorbis_handle_data_packet), (vorbis_dec_decode_buffer),
(vorbis_dec_flush_decode):
Small cleanups.
Don't try to add invalid timestamps.
Clipping will unref the buffer.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_page),
(gst_ogg_demux_chain):
Don't just ignore return values from _pad_push().
Small debug improvements.
Original commit message from CVS:
* ext/ogg/gstoggmux.c: (gst_ogg_mux_process_best_pad):
If our incoming buffer is marked as DISCONT, then increment the page
number (so that the discontinuity is marked in the final ogg
bitstream) and flush the previous page.
Original commit message from CVS:
* ext/pango/gsttextoverlay.c: (gst_text_overlay_init),
(gst_text_overlay_text_pad_unlink), (gst_text_overlay_text_event),
(gst_text_overlay_video_event), (gst_text_overlay_pop_text),
(gst_text_overlay_text_chain), (gst_text_overlay_video_chain),
(gst_text_overlay_change_state):
* ext/pango/gsttextoverlay.h:
Some textoverlay fixes: for one, in the video chain function,
actually wait for a text buffer to come in if there is none at the
moment and there should be one; also, deal more gracefully with
incoming buffers that do not have a timestamp or duration; discard
text buffer when not needed any longer. Fixes#341681.
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/textoverlay.c:
(notgst_check_setup_src_pad2), (notgst_check_teardown_src_pad2),
(setup_textoverlay), (buffer_is_all_black), (create_black_buffer),
(create_text_buffer), (cleanup_textoverlay), (GST_START_TEST),
(test_video_waits_for_text_send_text_newsegment_thread),
(test_video_waits_for_text_shutdown_element),
(test_render_continuity_push_video_buffers_thread),
(textoverlay_suite):
Add some unit tests for textoverlay.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (mp3_type_find_at_offset):
Avoid integer underflow when the found probability for mp3 is
smaller than the 'penalty' we subtract if there's not a clean
mp3 header sync at offset 0.
Original commit message from CVS:
* tests/check/Makefile.am:
* tests/check/elements/ffmpegcolorspace.c:
(ffmpegcolorspace_suite):
Enable ffmpegcolorspace test now that the RGBA32 issue is fixed
(for now not for valgrinding though, since it takes too long).
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpaudiopayload.h:
Fix GstBaseRTPAudioPayload structure so the whole GObject
inheritance business actually works (parent class instance structure
must always come first in the derived class instance structure).
Original commit message from CVS:
* gst/videotestsrc/Makefile.am:
* tests/check/Makefile.am:
Make sure our checks and the videotestsrc plugin link against the
local uninstalled gst libs and not any installed gst libs that
might happen to exist as well.
* tests/check/elements/adder.c: (message_received),
(test_event_message_received), (test_play_twice_message_received):
* tests/check/elements/ffmpegcolorspace.c: (GST_START_TEST):
Fix compiler warnings when compiling against core with disabled
debugging system.
Original commit message from CVS:
* gst/audiorate/gstaudiorate.c: (gst_audio_rate_reset),
(gst_audio_rate_sink_event), (gst_audio_rate_chain):
Fix audiorate, so that it accurately sets offsets and timestamps.
Doesn't change the fundamental algorithmic decisions; so should be
safe.
* tests/check/Makefile.am:
Enable audiorate test now that it passes.
Original commit message from CVS:
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_change_state):
clear xv when going to NULL, remove // commented non-existant proto
* tests/examples/seek/seek.c: (main):
add missing tooltip description for scrub and play_scrub
Original commit message from CVS:
* configure.ac:
Bump liboil requirement to 0.3.8.
* gst-libs/gst/riff/riff-media.c:
Add Dirac fourcc.
* gst/videoscale/vs_image.h:
* gst/videoscale/vs_scanline.h:
Use liboil's stdint.h.
* gst/videotestsrc/videotestsrc.c:
Remove liboil related ifdef's, since they aren't needed now, and
won't work with future versions.
Original commit message from CVS:
* gst/videoscale/Makefile.am:
* gst/videoscale/gstvideoscale.c:
* gst/videoscale/gstvideoscale.h:
* gst/videoscale/vs_4tap.c:
* gst/videoscale/vs_4tap.h:
* gst/videoscale/vs_image.c:
* gst/videoscale/vs_image.h:
* gst/videoscale/vs_scanline.c:
* gst/videoscale/vs_scanline.h:
Add a 4-tap image scaler. Theoretically looks much prettier.
The tap calculation could use some improvement.
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_event), (gst_base_audio_sink_render):
* gst-libs/gst/audio/gstbaseaudiosink.h:
Make the clock sync code more accurate wrt resampling and playback
at different rates.
* gst-libs/gst/audio/gstringbuffer.c:
(gst_ring_buffer_commit_full), (gst_ring_buffer_commit):
* gst-libs/gst/audio/gstringbuffer.h:
Use better algorithm to interpolate sample rates.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_submit_page):
Improve a debug line slightly.
* ext/ogg/gstogmparse.c: (gst_ogm_parse_plugin_init):
Call gst_riff_init() in plugin_init, to avoid getting errors from
the debug system (unrelated changes to another plugin made this turn
up; not sure why).
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps),
(gst_riff_create_video_template_caps):
add h263/h264 variants to the caps, Fixes#363118
Original commit message from CVS:
* gst-libs/gst/audio/gstaudiosink.c: (audioringbuffer_thread_func):
* gst-libs/gst/audio/gstaudiosrc.c: (audioringbuffer_thread_func):
Use g_strerror instead of strerror so we get UTF-8.
Original commit message from CVS:
* gst/typefind/gsttypefindfunctions.c: (mp3_type_find_at_offset):
Lower the probability of mp3 typefinding functions if we don't find a
valid mp3 header at the start of the file.
Closes#369482
Original commit message from CVS:
* ext/theora/gsttheoradec.h:
* ext/theora/theoradec.c: (gst_theora_dec_init),
(theora_dec_sink_event), (theora_dec_chain_forward),
(theora_dec_flush_decode), (theora_dec_chain_reverse),
(theora_dec_chain):
Document and partially implement an algorithm for doing reverse playback
of theora video.
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).