r33557 - trunk/stream/stream_cdda.c
Author: reimar Date: Sat Jun 4 12:27:45 2011 New Revision: 33557 Log: Constrain libcdparanoia's caching which badly breaks playback with -nocache. Switching to libcdio by default which does not have this issue might be a better long-term solution though. Modified: trunk/stream/stream_cdda.c Modified: trunk/stream/stream_cdda.c ============================================================================== --- trunk/stream/stream_cdda.c Sat Jun 4 11:30:42 2011 (r33556) +++ trunk/stream/stream_cdda.c Sat Jun 4 12:27:45 2011 (r33557) @@ -419,6 +419,9 @@ static int open_cdda(stream_t *st,int m, if(p->no_skip) mode |= PARANOIA_MODE_NEVERSKIP; #ifndef CONFIG_LIBCDIO + // HACK against libcdparanoia's stupid caching model that + // queues up a huge number of requests leading to stuttering + paranoia_cachemodel_size(priv->cdp, 24); paranoia_modeset(cdd, mode); if(p->search_overlap >= 0)
reimar <subversion <at> mplayerhq.hu> writes:
+++ trunk/stream/stream_cdda.c Sat Jun 4 12:27:45 2011 (r33557) @@ -419,6 +419,9 @@ static int open_cdda(stream_t *st,int m, if(p->no_skip) mode |= PARANOIA_MODE_NEVERSKIP; #ifndef CONFIG_LIBCDIO + // HACK against libcdparanoia's stupid caching model that + // queues up a huge number of requests leading to stuttering + paranoia_cachemodel_size(priv->cdp, 24);
This breaks default compilation on systems with old paranoia (that does not have paranoia_cachemodel_size). Carl Eugen
On Fri, Jul 29, 2011 at 09:07:18PM +0000, Carl Eugen Hoyos wrote:
reimar <subversion <at> mplayerhq.hu> writes:
+++ trunk/stream/stream_cdda.c Sat Jun 4 12:27:45 2011 (r33557) @@ -419,6 +419,9 @@ static int open_cdda(stream_t *st,int m, if(p->no_skip) mode |= PARANOIA_MODE_NEVERSKIP; #ifndef CONFIG_LIBCDIO + // HACK against libcdparanoia's stupid caching model that + // queues up a huge number of requests leading to stuttering + paranoia_cachemodel_size(priv->cdp, 24);
This breaks default compilation on systems with old paranoia (that does not have paranoia_cachemodel_size).
I decided to fix it by removing support for older versions since IMO they work really badly and we also support libcdio as an alternative.
Reimar Döffinger <Reimar.Doeffinger <at> gmx.de> writes:
+ paranoia_cachemodel_size(priv->cdp, 24);
This breaks default compilation on systems with old paranoia (that does not have paranoia_cachemodel_size).
I decided to fix it by removing support for older versions since IMO they work really badly and we also support libcdio as an alternative.
I completely agree. Thank you, Carl Eugen
reimar wrote on Sat, 4 Jun 2011 12:27:51 +0200 (CEST):
Constrain libcdparanoia's caching which badly breaks playback with -nocache.
Modified: trunk/stream/stream_cdda.c ========================================================================= +++ trunk/stream/stream_cdda.c Sat Jun 4 12:27:45 2011 (r33557) @@ -419,6 +419,9 @@ static int open_cdda(stream_t *st,int m, if(p->no_skip) mode |= PARANOIA_MODE_NEVERSKIP; #ifndef CONFIG_LIBCDIO + // HACK against libcdparanoia's stupid caching model that + // queues up a huge number of requests leading to stuttering + paranoia_cachemodel_size(priv->cdp, 24); paranoia_modeset(cdd, mode);
For information only: I still need -cache even with this hack. Stuttering only changes from seldom, long-time dropouts to frequent, very short ones. Ingo
On Tue, Dec 20, 2011 at 05:10:31PM +0100, Ingo Brückl wrote:
reimar wrote on Sat, 4 Jun 2011 12:27:51 +0200 (CEST):
Constrain libcdparanoia's caching which badly breaks playback with -nocache.
Modified: trunk/stream/stream_cdda.c ========================================================================= +++ trunk/stream/stream_cdda.c Sat Jun 4 12:27:45 2011 (r33557) @@ -419,6 +419,9 @@ static int open_cdda(stream_t *st,int m, if(p->no_skip) mode |= PARANOIA_MODE_NEVERSKIP; #ifndef CONFIG_LIBCDIO + // HACK against libcdparanoia's stupid caching model that + // queues up a huge number of requests leading to stuttering + paranoia_cachemodel_size(priv->cdp, 24); paranoia_modeset(cdd, mode);
For information only: I still need -cache even with this hack. Stuttering only changes from seldom, long-time dropouts to frequent, very short ones.
It worked with my old drive. It doesn't seem to work with my current drive, but that is because extracting is slower than real-time speeds so it simply can't work (and there I thought reading audio CDs would be a standard feature working with all CD drives nowadays - obviously not)...
participants (4)
-
Carl Eugen Hoyos -
Ingo Brückl -
reimar -
Reimar Döffinger