Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_go_back),
(gst_qtdemux_perform_seek), (gst_qtdemux_do_seek),
(gst_qtdemux_loop_state_movie), (gst_qtdemux_loop),
(gst_qtdemux_chain), (qtdemux_parse_tree), (qtdemux_parse_trak):
More cleanups, added comments.
Mark discontinuities on outgoing buffers.
Post better errors when something goes wrong.
Handle EOS and segment end properly.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_init),
(gst_qtdemux_push_event), (gst_qtdemux_go_back),
(gst_qtdemux_perform_seek), (gst_qtdemux_do_seek),
(gst_qtdemux_handle_src_event), (plugin_init),
(gst_qtdemux_change_state), (gst_qtdemux_loop_state_movie),
(gst_qtdemux_loop), (gst_qtdemux_chain),
(qtdemux_sink_activate_pull), (gst_qtdemux_add_stream),
(qtdemux_parse), (qtdemux_parse_tree), (qtdemux_parse_trak),
(qtdemux_parse_udta), (qtdemux_tag_add_str), (qtdemux_tag_add_num),
(qtdemux_tag_add_gnre), (gst_qtdemux_handle_esds):
* gst/qtdemux/qtdemux.h:
Handle stss boxes so we can mark and find keyframes.
Implement correct accurate and keyframe seeking.
Use _DEBUG_OBJECT when possible.
Original commit message from CVS:
* ext\jpeg\smokecodec.c:
use of GST_DEBUG instead of DEBUG(a...) for WIN32
* ext\speex\gstspeexenc.c: (gst_speexenc_set_header_on_caps):
move first instruction after all variables declarations
* gst\alpha\gstalpha.c:
* gst\effectv\gstshagadelic.c:
* gst\smpte\paint.c:
* gst\videofilter\gstvideobalance.c:
define M_PI if it's not defined (it's not defined on WIN32)
* gst\cutter\gstcutter.c: (gst_cutter_chain):
* gst\id3demux\id3v2frames.c: (parse_relative_volume_adjustment_two):
* gst\level\gstlevel.c: (gst_level_set_property), (gst_level_transform_ip):
* gst\matroska\matroska-demux.c: (gst_matroska_demux_parse_info),
(gst_matroska_demux_video_caps):
* gst\matroska\matroska-mux.c: (gst_matroska_mux_start), (gst_matroska_mux_finish):
* gst\wavparse\gstwavparse.c: (gst_wavparse_stream_data):
use gst_guint64_to_gdouble for conversions
* gst\goom\filters.c: (setPixelRGB_):
fix a debug which was using undefined variable
* gst\level\gstlevel.c: (gst_level_set_caps), (gst_level_transform_ip):
* gst\matroska\ebml-read.c: (gst_ebml_read_sint):
replace LL suffix with L suffix (LL isn't supported by MSVC6.0)
* win32/vs6:
add vs6 projects files for most of plugins-good
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_parse_index),
(gst_avi_demux_stream_index), (gst_avi_demux_stream_scan),
(gst_avi_demux_massage_index), (gst_avi_demux_handle_seek):
this patch combines the global init_frames with the stream
init_frames. Rationale being that the global delay should
be subtracted from any stream delay.
Fixes#335858.
Original commit message from CVS:
* ext/speex/gstspeexdec.c: (speex_dec_change_state):
* gst/interleave/deinterleave.c: (deinterleave_change_state):
* gst/interleave/interleave.c: (interleave_change_state):
* gst/wavenc/gstwavenc.c: (gst_wavenc_change_state):
More state change function fixes.
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_get_upstream_size),
(gst_wavparse_stream_headers), (gst_wavparse_stream_data):
Don't try to read beyond the end of the file just because
the header claims a bigger size (like with truncated files).
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_perform_seek),
(gst_wavparse_stream_headers), (gst_wavparse_add_src_pad),
(gst_wavparse_stream_data), (gst_wavparse_loop):
* gst/wavparse/gstwavparse.h:
Delay source pad creation until we have the first chunk of
media data, so the we can examine the data and adjust the
caps accordingly if required. This makes playback of .wav
files with DTS-declared-as-PCM content work (#313266).
Original commit message from CVS:
* gst/apetag/gsttagdemux.c: (gst_tag_demux_chain):
* gst/id3demux/gstid3demux.c: (gst_id3demux_chain):
Don't attempt typefinding on too-short buffers that have been
completely trimmed away.
* gst/id3demux/id3tags.c: (id3demux_read_id3v2_tag):
Improve the debug output
Original commit message from CVS:
Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
* gst/wavparse/gstwavparse.c: (gst_wavparse_perform_seek):
Fix block alignment calculation. Alignment should be done before
adding the byte offset where the data starts (#335231).
Original commit message from CVS:
* gst/matroska/ebml-write.c: (gst_ebml_write_element_push):
Ensure that we set correct caps on buffers that are transferred
direct from the input.
Original commit message from CVS:
* gst/goom/filters.c: (zoomFilterDestroy):
* gst/goom/goom_core.c: (goom_close):
Free filter data when cleaning up. (Fixes: #334995)
Original commit message from CVS:
* gst/id3demux/id3v2frames.c:
(parse_relative_volume_adjustment_two):
We only care about gain and peak data for the master volume.
Original commit message from CVS:
* gst/apetag/gsttagdemux.c: (gst_tag_demux_chain):
Ensure that we set caps on the buffers we pass.
* gst/id3demux/gstid3demux.c: (gst_id3demux_chain),
(gst_id3demux_sink_activate):
Ensure that we set caps on the buffers we pass.
Use STREAM, TYPE_NOT_FOUND as the error class when
typefinding fails.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_class_init),
(gst_qtdemux_init), (gst_qtdemux_dispose),
(gst_qtdemux_add_stream), (qtdemux_parse_trak):
Series of memleak fixes:
- Unref the GstAdapter in finalize.
- Use gst_pad_new_from_static_template(), shorter and safer.
- Free unused QtDemuxStream when not used.
Original commit message from CVS:
* configure.ac:
Bump -base requirement to 0.10.5 for gst_tag_from_id3_user_tag(),
used by id3demux.
* gst/id3demux/gstid3demux.c: (plugin_init):
* gst/id3demux/id3v2frames.c: (id3demux_id3v2_parse_frame),
(parse_user_text_identification_frame),
(parse_unique_file_identifier):
Add support for UFID and TXXX frames and extract musicbrainz tags.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_process_next_entry):
Catch short reads, like they might happen with truncated
files (see #305279); remove unnecessary indentation.
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_reset),
(gst_wavparse_change_state):
Implement seek in READY (re-fixes #327658)
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_udta):
Extract disc number and count from files that use
'disk' instead of 'disc' as node identifier for that
(fixes#332066).
Original commit message from CVS:
* gst/id3demux/Makefile.am:
* gst/id3demux/gstid3demux.c: (gst_id3demux_add_srcpad),
(gst_id3demux_chain), (gst_id3demux_sink_activate):
Use new typefind helper functions here as well, and
do typefinding in pull-mode if upstream supports that.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query),
(gst_avi_demux_handle_src_event), (gst_avi_demux_parse_stream),
(gst_avi_demux_calculate_durations_from_index),
(gst_avi_demux_stream_header):
* gst/avi/gstavidemux.h:
If we have an index, use a duration based on the index instead
of blindly trusting the information in the stream headers
(fixes#331817).
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse), (qtdemux_parse_trak):
Use GST_WARNING instead of GST_ERROR for all the too short/long atoms
when parsing.
Also let's be a bit less vulgar in our warning messages :)
Original commit message from CVS:
* configure.ac:
Bump requirements to current core and -base CVS
(core for new typefind helper API, and -base for the
WAVFORMATEX support that was added to libgstriff and
is needed by wavparse).
* gst/apetag/Makefile.am:
* gst/apetag/gsttagdemux.c: (gst_tag_demux_chain),
(gst_tag_demux_sink_activate):
Use new typefind helpers for typefinding instead of our
home-grown stuff; also, do typefinding in pull-mode if
upstream supports that.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak):
Can't divide through zero (suppress warning in case of
stream with one single still picture) (see #327083)
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_perform_seek),
(gst_wavparse_stream_headers), (gst_wavparse_stream_data),
(gst_wavparse_pad_convert), (gst_wavparse_srcpad_event),
(gst_wavparse_sink_activate), (gst_wavparse_sink_activate_pull):
Use DEBUG_OBJECT more.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_add_stream),
(qtdemux_parse_trak), (qtdemux_video_caps):
Add support for palettised Apple SMC videos (#327075, based on
patch by: Fabrizio Gennari <fabrizio dot ge at tiscali dot it>).
Original commit message from CVS:
* ext/cdio/Makefile.am:
Add GST_BASE_CFLAGS and GST_BASE_LIBS (seems to be
required for Cygwin, see #317048)
* gst/rtp/gstasteriskh263.c:
Cygwin has includes for both the unix network socket API
and the windows API, but only one can be included, so fix
includes to only use one or the other, prefering the unxi
one (#317048).
Original commit message from CVS:
2006-02-23 Philippe Kalaf <philippe.kalaf at collabora.co.uk>
* rtp/gst/gstrtppcmadepay.c:
* rtp/gst/gstrtppcmadepay.h:
* rtp/gst/gstgstrtppcmapay.c:
* rtp/gst/gstgstrtppcmapay.h:
* rtp/gst/gstrtppcmudepay.c:
* rtp/gst/gstrtppcmudepay.h:
* rtp/gst/gstrtppcmupay.c:
* rtp/gst/gstrtppcmupay.h:
* rtp/gst/Makefile.am:
* rtp/gst/gstrtp.c:
* rtp/gst/README:
Separated the G711 payloaders/depayloaders into separate elements for
mulaw/alaw. Also removed the old g711 payloaders/depayloaders.
Original commit message from CVS:
Reviewed by : Edward Hervey <edward@fluendo.com>
* gst/qtdemux/qtdemux.c: (qtdemux_video_caps):
Add 'dvsd' and 'dv25' to list of possible fourcc values for DV Video.
Add image/png for fourcc 'png '
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_src_convert),
(gst_avi_demux_handle_src_query), (gst_avi_demux_handle_src_event),
(gst_avi_demux_parse_file_header), (gst_avi_demux_stream_init),
(gst_avi_demux_parse_avih), (gst_avi_demux_parse_superindex),
(gst_avi_demux_parse_subindex), (gst_avi_demux_parse_stream),
(gst_avi_demux_stream_header), (gst_avi_demux_change_state):
Use scaling code for added precission and more correct stop
position in case scale==0.
Original commit message from CVS:
* gst/flx/flx_color.h:
* gst/flx/flx_fmt.h:
* gst/flx/gstflxdec.c: (gst_flxdec_init),
(gst_flxdec_src_query_handler), (flx_decode_color),
(gst_flxdec_chain):
* gst/flx/gstflxdec.h:
Set MALLOCDATA for the temp buffers so we don't leak.
Some debug cleanups.
Consume all data in the adapter before leaving the chain
function. Fixes#330678.
Original commit message from CVS:
* gst/id3demux/id3tags.c: (id3demux_id3v2_frames_to_tag_list):
* gst/id3demux/id3v2frames.c: (id3v2_genre_fields_to_taglist):
Handle 0 data size in otherwise valid frames.
Handle numeric strings in 2.4.0 even when not in parentheses
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_subtitle_caps),
(gst_matroska_demux_plugin_init):
* gst/matroska/matroska-ids.h:
Recognise SSA/ASS and USF subtitle formats and
set proper caps when they are found.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_state_movie):
Don't GST_LOG timestamps from nonexistent index
entries (#331582).
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_state_header):
Check that the size of the returned buffer is of the correct size
because the parser assumes that.
Fixes#331543.
Original commit message from CVS:
* gst/wavparse/gstwavparse.c: (gst_wavparse_stream_headers):
Pass extra_data to gst_riff_create_audio_caps(), so that
WAVEFORMATEX stuff works. Post audio codec name and post
it as taglist on the bus. Allow up to 8 channesl for raw
PCM in the source pad template caps.
Original commit message from CVS:
* gst/multipart/multipartdemux.c: (gst_multipart_demux_base_init),
(gst_multipart_demux_class_init), (gst_multipart_demux_init),
(gst_multipart_demux_finalize), (gst_multipart_find_pad_by_mime),
(gst_multipart_demux_chain), (gst_multipart_demux_change_state),
(gst_multipart_set_property), (gst_multipart_get_property):
Applied #318663. Gives quite a few false positives in
autoscan mode, but it's better than nothing. Not closing yet.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_handle_src_event),
(gst_qtdemux_loop), (qtdemux_sink_activate_pull):
Don't stop the task if the pad isn't linked.
Original commit message from CVS:
* gst/id3demux/id3tags.c: (id3demux_id3v2_frames_to_tag_list):
ID3 2.3.0 used synch-safe integers for the tag size, but not for the
frame size. (Fixes#331368)
Original commit message from CVS:
* gst/rtsp/README:
Updated README.
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_get_type),
(gst_rtspsrc_class_init), (gst_rtspsrc_set_property),
(gst_rtspsrc_get_property), (gst_rtspsrc_stream_setup_rtp):
* gst/rtsp/gstrtspsrc.h:
Make sure the RTP port is an even port an try to allocate
another if not.
Added retry property to control max retries for port allocation.
Make sure RTCP port is RTP port+1.
Cleanup when port allocation fails.
Fixes#319183.
Original commit message from CVS:
* gst/alpha/gstalpha.c: (gst_alpha_change_state):
Don't ignore return value of the parent class's state
change function (#331385, patch by: Wouter Paesen).
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_event):
Add comment in a fultile attempt to stop the copy-and-paste
paradigm leading to duplication of bad code.
* gst/rtsp/rtsptransport.c: (rtsp_transport_parse):
Mime parameters have to be checked case insensitive
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_post_buffering),
(gst_qtdemux_chain):
When buffering MDAT data, show the user something is
happening by posting 'buffering' messages on the bus.
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_sync_streams):
Advance stream time for lagging subtitle streams by sending
newsegment events with the update flag set.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_init),
(gst_qtdemux_handle_src_query), (gst_qtdemux_change_state),
(next_entry_size), (gst_qtdemux_chain):
* gst/qtdemux/qtdemux.h:
Make push-based work if mdat atom is before moov atom.
Don't answer duration query. This should be transformed into replying
FALSE to seek events.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_header):
There can be bogus data before the hdrl LIST tag in the RIFF header.
It's hard to say if it's not respecting the AVI specifications or not,
but since Google Video is producing AVIs like that and the other player
don't seem to complain, I guess we should do the same.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (next_entry_size), (gst_qtdemux_chain):
Handle the case where data atoms are before moov atoms in push-based mode.
Errors out gracefully.
Original commit message from CVS:
* gst/qtdemux/Makefile.am:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_init),
(gst_qtdemux_handle_sink_event), (gst_qtdemux_change_state),
(extract_initial_length_and_fourcc),
(gst_qtdemux_loop_state_header), (gst_qtdemux_loop_state_movie),
(gst_qtdemux_loop_header), (next_entry_size), (gst_qtdemux_chain),
(qtdemux_sink_activate), (qtdemux_sink_activate_pull),
(qtdemux_sink_activate_push), (qtdemux_parse_trak):
* gst/qtdemux/qtdemux.h:
QtDemux can now work push-based.
It still needs some love for seeking.
Original commit message from CVS:
* gst/id3demux/id3v2frames.c: (parse_insert_string_field),
(parse_split_strings):
Add more validation to ensure that a char encoding conversion
produced a valid UTF-8 string.
Original commit message from CVS:
Reviewed by: Edward Hervey <edward@fluendo.com>
* gst/avi/gstavidemux.c: (gst_avi_demux_process_next_entry):
Properly handle end of segment. Closes#330885.
Original commit message from CVS:
* gst/rtp/gstrtpmp4gpay.c: (gst_rtp_mp4g_pay_class_init),
(gst_rtp_mp4g_pay_init), (gst_rtp_mp4g_pay_parse_audio_config),
(gst_rtp_mp4g_pay_parse_video_config), (gst_rtp_mp4g_pay_new_caps),
(gst_rtp_mp4g_pay_setcaps), (gst_rtp_mp4g_pay_flush):
* gst/rtp/gstrtpmp4gpay.h:
Make more things work.
Handle ACC config strings.
Original commit message from CVS:
* gst/apetag/gsttagdemux.c: (gst_tag_demux_get_upstream_size),
(gst_tag_demux_do_typefind):
... and fix the very same leaks in GstTagDemux.
Original commit message from CVS:
* gst/id3demux/gstid3demux.c: (id3demux_get_upstream_size),
(gst_id3demux_do_typefind):
Fix a couple of mem leaks. (Patch by Jonathan Matthew
<jonathan at kaolin dot wh9 dot net>)
Original commit message from CVS:
* gst/rtp/gstrtpmp4vpay.c: (gst_rtp_mp4v_pay_setcaps):
First set options, then set caps or else the baseclass
will not know about the options, duh.
Original commit message from CVS:
* gst/rtp/gstrtpmp4vpay.c: (gst_rtp_mp4v_pay_class_init),
(gst_rtp_mp4v_pay_setcaps):
Don't waste time looking for a config string if we have codec_info
on the incomming caps.
Original commit message from CVS:
* gst/rtp/gstrtpamrdepay.c: (gst_rtp_amr_depay_chain):
Added more meaningfull warnings when something goes wrong.
Clear F bit on outgoing AMR packets.
* gst/rtp/gstrtpamrpay.c: (gst_rtp_amr_pay_class_init),
(gst_rtp_amr_pay_handle_buffer):
Added debugging category
Support payloading of multiple AMR frames.
* gst/rtp/gstrtpmp4vpay.c: (gst_rtp_mp4v_pay_depay_data):
Added some debugging.
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header),
(qtdemux_parse_trak):
use the correct variable to check if we can calculate
the last chunk. Looks like an obvious bug, and makes
the dump of offsets comparable to other tools
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_loop_header),
(qtdemux_parse_trak):
clean up some debugging, using _OBJECT, moving recurring
messages to LOG level
Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (gst_qtdemux_handle_src_query),
(gst_qtdemux_handle_src_event), (gst_qtdemux_loop_header),
(qtdemux_inflate), (qtdemux_parse), (qtdemux_parse_trak),
(qtdemux_parse_udta), (qtdemux_tag_add_str), (qtdemux_tag_add_num),
(qtdemux_tag_add_gnre), (gst_qtdemux_handle_esds),
(qtdemux_video_caps), (qtdemux_audio_caps):
* gst/qtdemux/qtdemux.h:
Some QT demux loving.
Handle seeking in a less broken way.
Fix AMR caps to match the AMR decoder.
Set first timestamp on AMR samples to 0 for now.
Remove some \n in DEBUG strings.
Use _scale_int for maximum precision.
Original commit message from CVS:
* gst/matroska/ebml-write.c: (gst_ebml_write_reset),
(gst_ebml_write_flush_cache), (gst_ebml_write_element_push),
(gst_ebml_write_seek):
* gst/matroska/ebml-write.h:
Make sure we send a newsegment event in BYTES format
before sending buffers (#328531).
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_parse_stream),
(gst_avi_demux_all_source_pads_unlinked),
(gst_avi_demux_process_next_entry):
* gst/avi/gstavidemux.h:
Third attempt, use gst_pad_is_linked() this time.
Original commit message from CVS:
* gst/id3demux/id3v2frames.c: (id3demux_id3v2_parse_frame),
(parse_split_strings):
Adjust for data length indicators when parsing (Fixes#329810)
Fix stupid bug parsing UTF-8 tag text.
Output tag strings with multiple fields as multiple tags, so the
app gets all the data.
Original commit message from CVS:
* gst/id3demux/id3v2frames.c: (parse_text_identification_frame),
(id3v2_tag_to_taglist), (id3v2_genre_string_to_taglist),
(id3v2_genre_fields_to_taglist):
Never output a tag with a null contents string.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_all_source_pads_unlinked):
Only pause if all pads are unlinked AND we've tried to send data
on all of them at least once.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_all_source_pads_unlinked),
(gst_avi_demux_process_next_entry), (gst_avi_demux_loop):
Make loop function/task pause itself when all source pads are
unlinked.
Original commit message from CVS:
* gst/auparse/gstauparse.c: (gst_au_parse_chain):
Don't push buffers into the adapter that we are going to
push downstream again without framing anyway. Also, the
adaptor takes ownership of buffers put into it (fixes
auparse pushing invalid buffers for .au files with
ADPCM contents). Finally, set caps on all outgoing buffers.