Rhythmbox uses cdda:// URIs of the form cdda://track#device, which
worked before the fix for bug #321532.
Also adds a check for negative track numbers and some unit tests for URI
parsing.
Fixes bug #595454.
The allowed URI scheme is now:
cdda://(device#)?track
Also allow every combination of uppercase and lowercase
characters for the protocol part.
Fixes bug #321532.
Don't use REPLACE_ALL merge mode when that's not really what we want,
as now that REPLACE_ALL actually does what it's supposed to do in
core, we drop tags we wanted to keep, such as the various disc id
tags. Add unit test for this as well. Fixes#579463.
Original commit message from CVS:
* gst-libs/gst/cdda/gstcddabasesrc.c:
* gst-libs/gst/cdda/gstcddabasesrc.h:
Make the GType of GstCDDABaseSrcMode public for bindings.
Fixes bug #566837.
Original commit message from CVS:
* gst-libs/gst/cdda/gstcddabasesrc.c:
(gst_cdda_base_src_handle_event):
Remove erroneous gst_buffer_ref().
* tests/check/libs/rtp.c: (GST_START_TEST):
Don't forget to unref the buffer once you're done with it.
Original commit message from CVS:
* gst-libs/gst/cdda/gstcddabasesrc.c:
(gst_cdda_base_src_add_track), (gst_cdda_base_src_create):
Fix EOS condition and track addition check, the track.end sector is
included in the track. Fixes#533265.
Original commit message from CVS:
* gst-libs/gst/cdda/sha1.c: (sha_transform):
Use memcpy() instead of upcasting a byte array to long *. This
fixes an unaligned memory access, resulting in SIGBUS on IA64.
This should be ported to GCheckSum once we can use GLib 2.16.
Partially fixes bug #500833.
Original commit message from CVS:
* Makefile.am:
Add check-exports target and run it with 'make check'.
* configure.ac:
Be stricter about what we export in our libraries: change regexp so that
we only export _gst_foo(), but not __gst_foo().
* gst-libs/gst/cdda/base64.h: (rfc822_binary):
* gst-libs/gst/cdda/sha1.h: (sha_init), (sha_update), (sha_final):
Change internal functions to __gst_foo so they dont' get exported.
* win32/common/libgstaudio.def:
Add missing symbols.
Original commit message from CVS:
* gst-libs/gst/cdda/gstcddabasesrc.c:
(gst_cdda_base_src_add_track):
Fix it so that it (a) makes sense and (b) doesn't break
everything cdda-related including the unit test.
Original commit message from CVS:
Patch by: Jens Granseuer <jensgr at gmx net>
* gst-libs/gst/cdda/gstcddabasesrc.c: (gst_cdda_base_src_create):
* gst-libs/gst/rtp/gstbasertpaudiopayload.c:
(gst_base_rtp_audio_payload_handle_frame_based_buffer),
(gst_base_rtp_audio_payload_handle_sample_based_buffer):
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_fixate):
Declare variables at the beginning of a block. Fixes#383195.
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:
* 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-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:
* 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/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:
* 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/cdda/gstcddabasesrc.c:
(gst_cdda_base_src_handle_track_seek):
No need to post a tag message on the bus when seeking
within the same track, only post it when the current
track changes.
Original commit message from CVS:
* gst-libs/gst/cdda/gstcddabasesrc.c:
(gst_cdda_base_src_update_duration),
(gst_cdda_base_src_calculate_cddb_id):
An integer is not a string. Fix access to uninitialised variable.
* tests/check/Makefile.am:
Add cddabasesrc unit test; also actually enable the vorbis test.
* tests/check/generic/states.c:
Blacklist new cd audio elements as well.
* tests/check/libs/cddabasesrc.c:
Unit test for GstCddaBaseSrc (discid calculation mostly).