summaryrefslogtreecommitdiff
path: root/src/input/input_cdda.c
AgeCommit message (Collapse)Author
2009-11-30Trim trailing space & reduce space+tab.Darren Salt
2009-08-05Fix reading of CDDB information (ref. cset a470c338149c)Christopher Martin
This fixes the reading of CDDB information by not setting INPUT_CAP_BLOCK for the CDDA plugin (and therefore also setting CD_RAW_FRAME_SIZE to 0), and allow reading in non-block sized chunks as per http://hg.debian.org/hg/xine-lib/xine-lib?cmd=changeset;node=a470c338149c;style=gitweb Explanation: At some point a number of releases ago, a codepath in Xine related to the reading of block devices which had been bypassed was fixed, which meant that when certain frontends asked Xine to provide CDDB information for a disc, querying the name, length, etc. of each track, Xine would actually cause a seek to the starting block of each track, which meant that before starting to play, the player would pause for 5-10 seconds, seeking through each track. This is unnecessary, since Xine should have simply used the CD TOC information from the CD audio header at the start of the disc. Other frontends handle CDDB differently and don't query Xine for information track by track, and so never triggered this problem. But for those with the problem, it made loading a disc rather slow. It turns out that the root of the problem is that the CDDA plugin shouldn't be setting INPUT_CAP_BLOCK, since Audio CDs are not block devices _in the sense that Xine intends_. Simply turning this off fixes the problem, with no other side effects (tested locally, for some time now, on xine-ui, kscd, kaffeine, amarok, etc.). This change pairs nicely with a patch originally committed years ago (cset a470c338149c) but which was reverted as it inadvertently triggered the same problem as is now (properly) fixed by the simple above-mentioned change. Now that a better fix is in, it can be re-committed.
2009-08-05Accept CDDB return code 211 ("found inexact matches")Christopher Martin
This code is returned when there is more than one CDDB entry for the disc in question. Before, when receiving a 211 response from a CDDB server, Xine would simply not display any CDDB information. Now one of the responses is displayed, on the theory that something is better than nothing.
2009-05-10Further improve parsing of CDDB informationChristopher Martin
Use strchr instead of strrchr to allow text to contain "=". --HG-- extra : transplant_source : l%29%15%0F%DFVV%08%B7%CF%FEb%E0v%22%18%FA%9Ap%8B
2009-05-10Provide genre & track no. for CDDB dataMarkus Kaufhold
(Tweaked to fit current hg and to fix a bug.) --HG-- extra : transplant_source : %FC%0C%D1n%D1%26%90%88%E0%EC%7D/%27%A1i%00%B0m%E5%AF
2009-05-10CDDB parsing code duplication cleanup.Darren Salt
--HG-- extra : transplant_source : w%85%203%2C%D1%04%CCgoRexh%03%88%9E%86Z%5B
2009-04-26Adjust the CDDA frame cache to a 'snappier' value.Christopher Martin
2009-02-17Add OpenBSD support to the CDDA, DVD & VCD input code.Brad Smith
2009-01-12Fixed lvalue cast error (build with newer mingw compilation tools).František Dvořák
2008-11-20Some warning fixes: XINE_FORMAT_SCANF, statics in headers, consts, ...František Dvořák
Add warning flags to the DEBUG_CFLAGS too.
2008-08-25Fix CDDB access on 64-bit.Darren Salt
2008-08-13Improve parsing of cddb informationArnold Metselaar
Date: Thu, 1 May 2008 21:09:25 +0200 This patch improves the parsing of cddb information: * Disc and track titles can now contain '='. * If a track title is of the form <track-artist> / <track-title> the meta-info will contain the track-artist rather than the disc-artist. I have tested these changes together with my get_dir patch with the sources from debian testing/security and both Amarok and gxine now show the right artists for tracks on a compilation album.
2008-08-13add cdda_class_get_dir method to cdda pluginArnold Metselaar
Date: Thu, 1 May 2008 21:05:55 +0200 This patch adds a cdda_class_get_dir method to the cdda input plugin. I can now add an audio cd to a play-list in Amarok. There may be small interruptions if another cd is playing though, so it would be desirable to lower the priority for access to the cd-drive by the get_dir function.
2008-07-08Add #include <windef.h> to fix compile for mingw32Matthias Ringwald
--HG-- extra : transplant_source : %24%19%EE%23d%E8%AE%93%98%9E%B4%2B%2C%A1%BE%D9%92%B7%27%1E
2008-05-09Use asprintf() rather than sn?printf() + strn?dup().Diego 'Flameeyes' Pettenò
Instead of duplicating a buffer after using sn?printf() on it, use asprintf() directly on the final variable.
2008-05-09Use size_t rather than int to store the return value of strlen().Diego 'Flameeyes' Pettenò
Also, don't reset buffers when we're just going to run a snprintf() call, and avoid multiple calls to strlen() when we're appending to it.
2008-05-09Loop improvements, avoid multiple strlen() and strdup() calls.Diego 'Flameeyes' Pettenò
Instead of executing strlen() after each snprintf() call, use the value returned by the call itself. Instead of using sprintf() on a buffer and then duplicate it, use asprintf().
2008-05-07xine_xmalloc() deprecation: replace its use with static and non-zero size.Diego 'Flameeyes' Pettenò
The xine_xmalloc() function is going to be deprecated, as its behaviour is rarely needed as such, and it's thus misused. With this, almost all uses of xine_xmalloc() with static size (for instance the value returned by sizeof()) or with a size that is guaranteed not to be zero (like strlen()+1) are replaced with calls to either calloc(1, ...) or malloc(). malloc() is used whenever the allocated memory is going to be immediately overwritten, while calloc() is used in every other case, as it sets the whole memory area to zero. --HG-- extra : transplant_source : %8F%98%EC%02%1E%83%F0s%06X%83C%205Y%80%B12%CC%E1
2008-04-19Replace xine_xcalloc usage with calloc, for the revisions transplanted from ↵Diego 'Flameeyes' Pettenò
1.2 series.
2007-12-18Use calloc() when the allocated size would be counted by multiplying the ↵Diego 'Flameeyes' Pettenò
size of an item for the number of items. (transplanted from efc9d92af3d7927cbf5534b5612fd98af541ff95) --HG-- extra : transplant_source : %EF%C9%D9%2A%F3%D7%92%7C%BFU4%B5a/%D9%8A%F5A%FF%95
2007-04-14Use xine_xcalloc instead of xine_xmalloc when mutiplying the number of ↵Diego 'Flameeyes' Pettenò
elements by the size of the single element. (transplanted from 512894f517c423fed0cadeca0d46c6d909403106) --HG-- extra : transplant_source : Q%28%94%F5%17%C4%23%FE%D0%CA%DE%CA%0DF%C6%D9%09%401%06
2007-12-24Spelling correction: successfuly → successfully.Darren Salt
2007-11-19add support for GNU/kFreeBSDPetr Salinger ext:(%20)
It changes some "defined (__FreeBSD__)" into "defined (__FreeBSD_kernel__)" and "__FreeBSD_version" into "__FreeBSD_kernel_version". The changes are performed on places, where feature of kernel is tested. On some other places, feature of userland/libc is tested, on them "defined (__FreeBSD__)" remains. As proposed, include/configure.h cause __FreeBSD_kernel__ be defined if __FreeBSD__ is defined. --HG-- extra : transplant_source : %25%96K%05%E4Y%B15%94%60%15%FE1%8Ah%26Xy%8C/
2007-11-10Delete most of the CVS $Id$/$Log$ lines.Darren Salt
--HG-- extra : transplant_source : %E0%D0%C5%8B%BEU%DD%24%5D7%1F%ADV%AD%EB%23%CBU%80%EB
2007-11-09Update FSF address on non-contributed code and COPYING files.Diego 'Flameeyes' Pettenò
For contributed code, leave whatever the version we last synced for is using to make simpler future syncs.
2007-05-04Fix building of CDDA input on FreeBSD, the NetBSD patch broke it as ↵Diego 'Flameeyes' Pettenò
sys/scsiio.h is not present on FreeBSD.
2007-04-07Use CC_ATTRIBUTE_FORMAT; replace __attribute((format(printf, ...))) accordingly.Darren Salt
2007-03-10Add support for NetBSD to src/input/input_cdda.c, patch by Sergey Svishchev.Diego 'Flameeyes' Pettenò
CVS patchset: 8657 CVS date: 2007/03/10 00:48:59
2007-01-19Make get_mrl return a const char * too.Diego 'Flameeyes' Pettenò
CVS patchset: 8524 CVS date: 2007/01/19 01:05:24
2007-01-18Make get_description function return a const char * rather than just a char ↵Diego 'Flameeyes' Pettenò
*, so that 'return "something"' is valid. Note that _()/gettext() returns a char * but statically allocated, that the documentation considers constant. CVS patchset: 8519 CVS date: 2007/01/18 23:02:18
2006-12-19Mark string-type configuration items according to whether they're plainDarren Salt
strings or names of files, device nodes or directories. This information is available to front ends (via .num_value) so that they can present file/dir-open dialogue boxes if they so choose. Subtitle font selection is split up due to this. CVS patchset: 8425 CVS date: 2006/12/19 19:10:50
2006-08-11Fix up CDDA parsing to cope with an arbitrary number of slashes after the colon.Darren Salt
Adjust xine(5) to make mention of the possibility of naming the device. CVS patchset: 8176 CVS date: 2006/08/11 21:40:02
2006-07-10Implement visibility support, available on GCC 4.0 and later and on some 3.4 ↵Diego 'Flameeyes' Pettenò
(through backports), to avoid exporting unneeded internal symbols, making plugins' loading faster and use of internal copies of libraries more solid. It should automatically fall back to the old way in GCCs that does not support -fvisibility=hidden, but has to be tested carefully. No issues were found in the months of testing in Gentoo, but this requires special attention anyway. CVS patchset: 8101 CVS date: 2006/07/10 22:08:12
2006-07-08Set CD audio buffer to 500 frames (patch from Christopher Martin).Darren Salt
This fixes "audible gap" problems; <500 resulted in occasional gaps being audible. (The value is a "reasonable choice": it should cover the problem for the vast majority of people and drives.) CVS patchset: 8096 CVS date: 2006/07/08 14:08:48
2006-07-07Fix CD track info retrieval, avoid long pauses.Darren Salt
This is a partial reversion of 1.71->1.72. (Patch from Christopher Martin, <christopher.martin@utoronto.ca>) CVS patchset: 8092 CVS date: 2006/07/07 22:17:03
2006-05-03Make various arrays and structures (mainly xine_plugin_info) const.Darren Salt
(Diego Pettenò) CVS patchset: 7985 CVS date: 2006/05/03 19:46:06
2006-04-21Add printf format attributes.Darren Salt
CVS patchset: 7977 CVS date: 2006/04/21 23:15:44
2006-02-09fix variable declarationMiguel Freitas
CVS patchset: 7888 CVS date: 2006/02/09 09:29:55
2006-02-05another CDDB parsing patch by Christopher MartinMiguel Freitas
CVS patchset: 7873 CVS date: 2006/02/05 14:32:07
2006-02-01bugfix: prevent input_cdda from closing file descriptors like stdin while ↵Stefan Holst
using autoplay feature CVS patchset: 7861 CVS date: 2006/02/01 18:55:29
2005-11-28*BUGFIX*František Dvořák
Improved cross-compiling: detect and precedence of the host-specific libs W32dll: enabled by platforms as originaly, user can override it Fixed shell errors in the Makefile of the hackersguide Detect the place of SDL header independently on platform Fixed spelling in CDDA, include the header sys/param.h if available Fixed format strings (fix warnings (or even bugs) on Gentoo/FreeBSD) CVS patchset: 7815 CVS date: 2005/11/28 12:24:56
2005-11-15cddb improvements/fixes (DTITLE/DYEAR parsing, timeout increase andMiguel Freitas
multiline entries support) [#1205274] patch by Christopher Martin CVS patchset: 7803 CVS date: 2005/11/15 13:29:10
2005-10-14input plugin time seeking patch.Miguel Freitas
hopefuly somebody will be able to help fixing the mess i did in dvdnav ;) CVS patchset: 7759 CVS date: 2005/10/14 21:02:16
2005-10-08fix format string vulnerability reported by Ulf Harnhammar of the Debian ↵Michael Roitzsch
Security Audit Project CVS patchset: 7757 CVS date: 2005/10/08 11:26:23
2005-09-05*BUGFIX*František Dvořák
Build improvements and WIN32 port updates: - add --with-pthread-pefix and --with-zlib-pefix options - prepare for removing internal zlib and pthreads-win32 relics, updated documentation for possible WIN32 developers (only for me? :->) - fixed bug in unimportant part of configure.ac for MinGW due to xine paths - fixed my bug in cdda (but it compiled fine anyway) - fixed unimportant bug in planar Makefile.am - next MSVC update due to external zlib, pthreads and latest changes, removed relic includes - checked distcheck CVS patchset: 7719 CVS date: 2005/09/05 17:02:56
2005-09-02Unregister config callbacks.Thibaut Mattern
CVS patchset: 7716 CVS date: 2005/09/02 22:39:42
2005-08-29*BUGFIX*František Dvořák
Windows ports updates: - finished M$VC port update - moved xine plugins back to normal location for Windows ports, added relative directories (used relative to ${prefix}), make sure it's thread-safe (but it's still hacky) - fixed ugly bug with loading plugins, when working drive was differrent from plugins directory directory - directory and subdirectory separator called as platform specific - fix crash with newer win32 pthread (missing mutex_init in vo plugin), yes! - small doc update CVS patchset: 7712 CVS date: 2005/08/29 15:28:16
2005-08-25*BUGFIX*František Dvořák
Windows ports fixes and improvements due to my current work on toxine: - first experiments with external win32 pthreads, more portable code (pthread_t may be a struct) - headers refactored - moved dirent win32 replacement to lib/, hide it for frontends, used system version, if found, not used non-POSIX dirent->d_reclen (this item doesn't work in MinGW), fix memleak in dvb - separated settings for postproc and avcodec when using external ffmpeg - check for malloc.h in public xine.m4, used it conditionally in xine headers - replaced random() by POSIX more common rand() - prevent one segfault in directx vo plugin, if fails - M$VC port update CVS patchset: 7709 CVS date: 2005/08/25 15:36:29
2005-07-29FreeBSD compatability patch by Diego "Flameeyes" PettenòJames Stembridge
CVS patchset: 7697 CVS date: 2005/07/29 19:03:34
2005-05-28Allow read as well as read_blockJames Stembridge
CVS patchset: 7574 CVS date: 2005/05/28 09:26:59