ports/133413: [patch] sysutils/libcdio 0.78.2 is broken for CDROMs that don't support media-changed notification.
| From: | baileygeoff@telus.net |
| Date: | Sun, 5 Apr 2009 22:34:45 -0700 (PDT) |
| Subject: | [patch] sysctls/libcdio-0.78.2 is broken for CDROM's that don't support media-changed notification. |
| Send-pr version: | 3.113 |
| Number: | 133413 |
| Category: | ports |
| Synopsis: | [patch] sysutils/libcdio 0.78.2 is broken for CDROMs that don't support media-changed notification. |
| Severity: | serious |
| Priority: | medium |
| Responsible: | arved@FreeBSD.org |
| State: | feedback |
| Class: | change-request |
| Arrival-Date: | Mon Apr 06 06:00:05 UTC 2009 |
| Closed-Date: | |
| Last-Modified: | Sun Nov 8 09:00:11 UTC 2009 |
| Originator: | Geoff Bailey <baileygeoff@telus.net> |
| Release: | FreeBSD 7.1-RELEASE i386 |
| Organization: |
| Environment: |
sysctls/libcdio-0.78.2_2 used by multimedia/audacious-1.5.1_3
System: FreeBSD uzyod 7.1-RELEASE FreeBSD 7.1-RELEASE #0: Thu Jan 1 14:37:25 UTC 2009 root@logan.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386
System: FreeBSD uzyod 7.1-RELEASE FreeBSD 7.1-RELEASE #0: Thu Jan 1 14:37:25 UTC 2009 root@logan.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386
| Description: |
1. The function get_media_changed_freebsd(), in lib/driver/FreeBSD/freebsd.c,
returns DRIVER_OP_UNSUPPORTED for my NEC-28D CDROM device. The lshal program
shows: 'storage.cdrom.support_media_changed = false' for this device.
This causes the Audacious Media Player's cdaudio-ng plugin to only load the
first track of a CD in the playlist.
The problem is solved if this function returns 0 (not changed) for
unsupported devices instead of DRIVER_OP_UNSUPPORTED. While the player
may not be able to detect media changes under these circumstances, it
at least remains functional for older drives.
I have attached 'patch-lib_driver_FreeBSD_freebsd.c' which makes the
the requested change. It also adds a few lines to set access_mode='ioctl'
if the atapi (/dev/acd0) driver is being used by the the application.
2. The read_audio_sectors_freebsd_ioctl() function, in
lib/driver/FreeBSD/freebsd_ioctl.c, calls the CDIOCREADAUDIO ioctl, which
has been deprecated for some time. However, this call can be easily replaced
with a CDRIOCSETBLOCKSIZE ioctl call followed by a pread() call.
Since the atapicd driver is in the generic kernel and the atapicam
driver module must be explicitly loaded, this simple fix to the atapi
ioctl interface will allow programs (such as Audacious) to function
'out of the box'.
I have attached 'patch-lib_driver_FreeBSD_freebsd_ioctl.c' which makes
the requested changes.
returns DRIVER_OP_UNSUPPORTED for my NEC-28D CDROM device. The lshal program
shows: 'storage.cdrom.support_media_changed = false' for this device.
This causes the Audacious Media Player's cdaudio-ng plugin to only load the
first track of a CD in the playlist.
The problem is solved if this function returns 0 (not changed) for
unsupported devices instead of DRIVER_OP_UNSUPPORTED. While the player
may not be able to detect media changes under these circumstances, it
at least remains functional for older drives.
I have attached 'patch-lib_driver_FreeBSD_freebsd.c' which makes the
the requested change. It also adds a few lines to set access_mode='ioctl'
if the atapi (/dev/acd0) driver is being used by the the application.
2. The read_audio_sectors_freebsd_ioctl() function, in
lib/driver/FreeBSD/freebsd_ioctl.c, calls the CDIOCREADAUDIO ioctl, which
has been deprecated for some time. However, this call can be easily replaced
with a CDRIOCSETBLOCKSIZE ioctl call followed by a pread() call.
Since the atapicd driver is in the generic kernel and the atapicam
driver module must be explicitly loaded, this simple fix to the atapi
ioctl interface will allow programs (such as Audacious) to function
'out of the box'.
I have attached 'patch-lib_driver_FreeBSD_freebsd_ioctl.c' which makes
the requested changes.
| How-To-Repeat: |
| Fix: |
please see atached patches:
'patch-lib_driver_FreeBSD_freebsd.c'
'patch-lib_driver_FreeBSD_freebsd_ioctl.c'
'patch-lib_driver_FreeBSD_freebsd.c'
'patch-lib_driver_FreeBSD_freebsd_ioctl.c'
| Release-Note: |
| Audit-Trail: |
| Responsible Changed | |
| From-To: | freebsd-ports-bugs->mich |
| By: | pav |
| When: | Thu Apr 30 11:22:56 UTC 2009 |
| Why: | Over to maintainer |
| Responsible Changed | |
| From-To: | mich->freebsd-ports-bugs |
| By: | mich |
| When: | Tue Oct 20 16:55:32 UTC 2009 |
| Why: | No longer maintaining this port |
| State Changed | |
| From-To: | open->feedback |
| By: | arved |
| When: | Sun Nov 8 08:06:41 UTC 2009 |
| Why: | Taking over, i am the new, old maintainer Geoff, The patches were not attached to the PR, can you send them to me? Did you report this issue upstream? |
| Responsible Changed | |
| From-To: | freebsd-ports-bugs->arved |
| By: | arved |
| When: | Sun Nov 8 08:06:41 UTC 2009 |
| Why: | Taking over, i am the new, old maintainer Geoff, The patches were not attached to the PR, can you send them to me? Did you report this issue upstream? |
| Reply via E-mail | |
| From: | Tilman Linneweh <arved@FreeBSD.org> |
| Date: | Sun, 08 Nov 2009 09:17:53 +0100 |
|
arved@FreeBSD.org wrote: > Geoff, > The patches were not attached to the PR, can you send them to me? > Did you report this issue upstream? Never mind, i saw that you reported them to the libcdio Mailinglist. | |
| Reply via E-mail | |||
| From: | Tilman Linneweh <arved@FreeBSD.org> | ||
| Date: | Sun, 08 Nov 2009 09:55:36 +0100 | ||
|
This is a multi-part message in MIME format. Tilman Linneweh wrote: > > Geoff, > > The patches were not attached to the PR, can you send them to me? > > Did you report this issue upstream? > > Never mind, i saw that you reported them to the libcdio Mailinglist. Here is an update to 0.82.Please test! It will be committed after FreeBSD 8.0 Release. ? .Makefile.swp ? .pkg-plist.swp ? 136259 ? libcdio-0.82.patch ? pr-patch ? work
| |||
| Unformatted: |
