]> git.sesse.net Git - vlc/commitdiff
* ./extras/MacOSX_dvdioctl: removed outdated files.
authorSam Hocevar <sam@videolan.org>
Mon, 18 Mar 2002 19:14:52 +0000 (19:14 +0000)
committerSam Hocevar <sam@videolan.org>
Mon, 18 Mar 2002 19:14:52 +0000 (19:14 +0000)
  * ./plugins/fx/scope.c: fixed an infinite loop error.
  * ./plugins: fixed segfaults in various demux plugins.
  * ./plugins/sdl/vout_sdl.c: SDL_VIDEODRIVER can be specified from the
    command line; try "--vout sdl:aalib"

16 files changed:
INSTALL
extras/MacOSX_dvdioctl/COPYING [deleted file]
extras/MacOSX_dvdioctl/DVDioctl.cpp [deleted file]
extras/MacOSX_dvdioctl/DVDioctl.h [deleted file]
extras/MacOSX_dvdioctl/DVDioctl.pbproj/project.pbxproj [deleted file]
extras/MacOSX_dvdioctl/English.lproj/InfoPlist.strings [deleted file]
extras/MacOSX_dvdioctl/README [deleted file]
plugins/dvd/dvd_access.c
plugins/dvd/dvd_demux.c
plugins/dvdread/input_dvdread.c
plugins/fx/scope.c
plugins/mpeg_system/mpeg_es.c
plugins/mpeg_system/mpeg_ps.c
plugins/mpeg_system/mpeg_ts.c
plugins/sdl/vout_sdl.c
plugins/vcd/input_vcd.c

diff --git a/INSTALL b/INSTALL
index 1bdf1150c2b9ae95117bb031f4104e520c97fb93..5530adfe6cff475c35a10d366be70c86c90296d3 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -10,17 +10,10 @@ A typical way to configure vlc is:
 
 See `./configure --help' for more information.
 
-Here is a shortcut to copy-paste for a complete build:
-
-   make distclean ; ./configure --prefix=/usr --enable-gnome \
-      --enable-fb --with-glide --with-ggi --enable-esd --enable-qt
-
 If you intend to debug stuff, you may want to compile with debugging
 symbols:
 
-   make distclean ; ./configure --prefix=/usr --enable-gnome \
-      --enable-fb --with-glide --with-ggi --enable-esd --enable-qt \
-         --enable-debug
+   make distclean ; ./configure --prefix=/usr --enable-gnome --enable-debug
 
 It is also possible to cross-compile for the Win32 platform using mingw32:
 
diff --git a/extras/MacOSX_dvdioctl/COPYING b/extras/MacOSX_dvdioctl/COPYING
deleted file mode 100644 (file)
index a0a8416..0000000
+++ /dev/null
@@ -1,372 +0,0 @@
-APPLE PUBLIC SOURCE LICENSE
-Version 1.1 - April 19,1999
-
-Please read this License carefully before downloading this software.
-By downloading and using this software, you are agreeing to be bound
-by the terms of this License.  If you do not or cannot agree to the
-terms of this License, please do not download or use the software.
-
-1. General; Definitions.  This License applies to any program or other
-work which Apple Computer, Inc. ("Apple") publicly announces as
-subject to this Apple Public Source License and which contains a
-notice placed by Apple identifying such program or work as "Original
-Code" and stating that it is subject to the terms of this Apple Public
-Source License version 1.1 (or subsequent version thereof), as it may
-be revised from time to time by Apple ("License").  As used in this
-License:
-
-1.1 "Affected Original Code" means only those specific portions of
-Original Code that allegedly infringe upon any party's intellectual
-property rights or are otherwise the subject of a claim of
-infringement.
-
-1.2 "Applicable Patent Rights" mean: (a) in the case where Apple is
-the grantor of rights, (i) claims of patents that are now or hereafter
-acquired, owned by or assigned to Apple and (ii) that cover subject
-matter contained in the Original Code, but only to the extent
-necessary to use, reproduce and/or distribute the Original Code
-without infringement; and (b) in the case where You are the grantor of
-rights, (i) claims of patents that are now or hereafter acquired,
-owned by or assigned to You and (ii) that cover subject matter in Your
-Modifications, taken alone or in combination with Original Code.
-
-1.3 "Covered Code" means the Original Code, Modifications, the
-combination of Original Code and any Modifications, and/or any
-respective portions thereof.
-
-1.4 "Deploy" means to use, sublicense or distribute Covered Code other
-than for Your internal research and development (R&D), and includes
-without limitation, any and all internal use or distribution of
-Covered Code within Your business or organization except for R&D use,
-as well as direct or indirect sublicensing or distribution of Covered
-Code by You to any third party in any form or manner.
-
-1.5 "Larger Work" means a work which combines Covered Code or portions
-thereof with code not governed by the terms of this License.
-
-1.6 "Modifications" mean any addition to, deletion from, and/or change
-to, the substance and/or structure of Covered Code.  When code is
-released as a series of files, a Modification is: (a) any addition to
-or deletion from the contents of a file containing Covered Code;
-and/or (b) any new file or other representation of computer program
-statements that contains any part of Covered Code.
-
-1.7 "Original Code" means (a) the Source Code of a program or other
-work as originally made available by Apple under this License,
-including the Source Code of any updates or upgrades to such programs
-or works made available by Apple under this License, and that has been
-expressly identified by Apple as such in the header file(s) of such
-work; and (b) the object code compiled from such Source Code and
-originally made available by Apple under this License.
-
-1.8 "Source Code" means the human readable form of a program or other
-work that is suitable for making modifications to it, including all
-modules it contains, plus any associated interface definition files,
-scripts used to control compilation and installation of an executable
-(object code).
-
-1.9 "You" or "Your" means an individual or a legal entity exercising
-rights under this License.  For legal entities, "You" or "Your"
-includes any entity which controls, is controlled by, or is under
-common control with, You, where "control" means (a) the power, direct
-or indirect, to cause the direction or management of such entity,
-whether by contract or otherwise, or (b) ownership of fifty percent
-(50%) or more of the outstanding shares or beneficial ownership of
-such entity.
-
-2. Permitted Uses; Conditions & Restrictions.  Subject to the terms
-and conditions of this License, Apple hereby grants You, effective on
-the date You accept this License and download the Original Code, a
-world-wide, royalty-free, non- exclusive license, to the extent of
-Apple's Applicable Patent Rights and copyrights covering the Original
-Code, to do the following:
-
-2.1 You may use, copy, modify and distribute Original Code, with or
-without Modifications, solely for Your internal research and
-development, provided that You must in each instance:
-
-(a) retain and reproduce in all copies of Original Code the copyright
-and other proprietary notices and disclaimers of Apple as they appear
-in the Original Code, and keep intact all notices in the Original Code
-that refer to this License;
-
-(b) include a copy of this License with every copy of Source Code of
-Covered Code and documentation You distribute, and You may not offer
-or impose any terms on such Source Code that alter or restrict this
-License or the recipients' rights hereunder, except as permitted under
-Section 6; and
-
-(c) completely and accurately document all Modifications that you have
-made and the date of each such Modification, designate the version of
-the Original Code you used, prominently include a file carrying such
-information with the Modifications, and duplicate the notice in
-Exhibit A in each file of the Source Code of all such Modifications.
-
-2.2 You may Deploy Covered Code, provided that You must in each
-  instance:
-
-(a) satisfy all the conditions of Section 2.1 with respect to the
-Source Code of the Covered Code;
-
-(b) make all Your Deployed Modifications publicly available in Source
-Code form via electronic distribution (e.g. download from a web site)
-under the terms of this License and subject to the license grants set
-forth in Section 3 below, and any additional terms You may choose to
-offer under Section 6.  You must continue to make the Source Code of
-Your Deployed Modifications available for as long as you Deploy the
-Covered Code or twelve (12) months from the date of initial
-Deployment, whichever is longer;
-
-(c) if You Deploy Covered Code containing Modifications made by You,
-inform others of how to obtain those Modifications by filling out and
-submitting the information found at
-http://www.apple.com/publicsource/modifications.html, if available;
-and
-
-(d) if You Deploy Covered Code in object code, executable form only,
-include a prominent notice, in the code itself as well as in related
-documentation, stating that Source Code of the Covered Code is
-available under the terms of this License with information on how and
-where to obtain such Source Code.
-
-3. Your Grants.  In consideration of, and as a condition to, the
-licenses granted to You under this License:
-
-(a) You hereby grant to Apple and all third parties a non-exclusive,
-royalty-free license, under Your Applicable Patent Rights and other
-intellectual property rights owned or controlled by You, to use,
-reproduce, modify, distribute and Deploy Your Modifications of the
-same scope and extent as Apple's licenses under Sections 2.1 and 2.2;
-and
-
-(b) You hereby grant to Apple and its subsidiaries a non-exclusive,
-worldwide, royalty-free, perpetual and irrevocable license, under Your
-Applicable Patent Rights and other intellectual property rights owned
-or controlled by You, to use, reproduce, execute, compile, display,
-perform, modify or have modified (for Apple and/or its subsidiaries),
-sublicense and distribute Your Modifications, in any form, through
-multiple tiers of distribution.
-
-4. Larger Works.  You may create a Larger Work by combining Covered
-Code with other code not governed by the terms of this License and
-distribute the Larger Work as a single product.  In each such
-instance, You must make sure the requirements of this License are
-fulfilled for the Covered Code or any portion thereof.
-
-5. Limitations on Patent License.  Except as expressly stated in
-Section 2, no other patent rights, express or implied, are granted by
-Apple herein.  Modifications and/or Larger Works may require
-additional patent licenses from Apple which Apple may grant in its
-sole discretion.
-
-6. Additional Terms.  You may choose to offer, and to charge a fee
-for, warranty, support, indemnity or liability obligations and/or
-other rights consistent with the scope of the license granted herein
-("Additional Terms") to one or more recipients of Covered
-Code. However, You may do so only on Your own behalf and as Your sole
-responsibility, and not on behalf of Apple. You must obtain the
-recipient's agreement that any such Additional Terms are offered by
-You alone, and You hereby agree to indemnify, defend and hold Apple
-harmless for any liability incurred by or claims asserted against
-Apple by reason of any such Additional Terms.
-
-7. Versions of the License.  Apple may publish revised and/or new
-versions of this License from time to time.  Each version will be
-given a distinguishing version number.  Once Original Code has been
-published under a particular version of this License, You may continue
-to use it under the terms of that version. You may also choose to use
-such Original Code under the terms of any subsequent version of this
-License published by Apple.  No one other than Apple has the right to
-modify the terms applicable to Covered Code created under this
-License.
-
-8. NO WARRANTY OR SUPPORT.  The Original Code may contain in whole or
-in part pre-release, untested, or not fully tested works.  The
-Original Code may contain errors that could cause failures or loss of
-data, and may be incomplete or contain inaccuracies.  You expressly
-acknowledge and agree that use of the Original Code, or any portion
-thereof, is at Your sole and entire risk.  THE ORIGINAL CODE IS
-PROVIDED "AS IS" AND WITHOUT WARRANTY, UPGRADES OR SUPPORT OF ANY KIND
-AND APPLE AND APPLE'S LICENSOR(S) (FOR THE PURPOSES OF SECTIONS 8 AND
-9, APPLE AND APPLE'S LICENSOR(S) ARE COLLECTIVELY REFERRED TO AS
-"APPLE") EXPRESSLY DISCLAIM ALL WARRANTIES AND/OR CONDITIONS, EXPRESS
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-AND/OR CONDITIONS OF MERCHANTABILITY OR SATISFACTORY QUALITY AND
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY
-RIGHTS.  APPLE DOES NOT WARRANT THAT THE FUNCTIONS CONTAINED IN THE
-ORIGINAL CODE WILL MEET YOUR REQUIREMENTS, OR THAT THE OPERATION OF
-THE ORIGINAL CODE WILL BE UNINTERRUPTED OR ERROR- FREE, OR THAT
-DEFECTS IN THE ORIGINAL CODE WILL BE CORRECTED.  NO ORAL OR WRITTEN
-INFORMATION OR ADVICE GIVEN BY APPLE OR AN APPLE AUTHORIZED
-REPRESENTATIVE SHALL CREATE A WARRANTY OR IN ANY WAY INCREASE THE
-SCOPE OF THIS WARRANTY.  You acknowledge that the Original Code is not
-intended for use in the operation of nuclear facilities, aircraft
-navigation, communication systems, or air traffic control machines in
-which case the failure of the Original Code could lead to death,
-personal injury, or severe physical or environmental damage.
-
-9. Liability.
-
-9.1 Infringement.  If any portion of, or functionality implemented by,
-the Original Code becomes the subject of a claim of infringement,
-Apple may, at its option: (a) attempt to procure the rights necessary
-for Apple and You to continue using the Affected Original Code; (b)
-modify the Affected Original Code so that it is no longer infringing;
-or (c) suspend Your rights to use, reproduce, modify, sublicense and
-distribute the Affected Original Code until a final determination of
-the claim is made by a court or governmental administrative agency of
-competent jurisdiction and Apple lifts the suspension as set forth
-below.  Such suspension of rights will be effective immediately upon
-Apple's posting of a notice to such effect on the Apple web site that
-is used for implementation of this License.  Upon such final
-determination being made, if Apple is legally able, without the
-payment of a fee or royalty, to resume use, reproduction,
-modification, sublicensing and distribution of the Affected Original
-Code, Apple will lift the suspension of rights to the Affected
-Original Code by posting a notice to such effect on the Apple web site
-that is used for implementation of this License.  If Apple suspends
-Your rights to Affected Original Code, nothing in this License shall
-be construed to restrict You, at Your option and subject to applicable
-law, from replacing the Affected Original Code with non-infringing
-code or independently negotiating for necessary rights from such third
-party.
-
-9.2 LIMITATION OF LIABILITY.  UNDER NO CIRCUMSTANCES SHALL APPLE BE
-LIABLE FOR ANY INCIDENTAL, SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES
-ARISING OUT OF OR RELATING TO THIS LICENSE OR YOUR USE OR INABILITY TO
-USE THE ORIGINAL CODE, OR ANY PORTION THEREOF, WHETHER UNDER A THEORY
-OF CONTRACT, WARRANTY, TORT (INCLUDING NEGLIGENCE), PRODUCTS LIABILITY
-OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES AND NOTWITHSTANDING THE FAILURE OF ESSENTIAL PURPOSE OF
-ANY REMEDY.  In no event shall Apple's total liability to You for all
-damages under this License exceed the amount of fifty dollars
-($50.00).
-
-10. Trademarks.  This License does not grant any rights to use the
-trademarks or trade names "Apple", "Apple Computer", "Mac OS X", "Mac
-OS X Server" or any other trademarks or trade names belonging to Apple
-(collectively "Apple Marks") and no Apple Marks may be used to endorse
-or promote products derived from the Original Code other than as
-permitted by and in strict compliance at all times with Apple's third
-party trademark usage guidelines which are posted at
-http://www.apple.com/legal/guidelinesfor3rdparties.html.
-
-11. Ownership.  Apple retains all rights, title and interest in and to
-the Original Code and any Modifications made by or on behalf of Apple
-("Apple Modifications"), and such Apple Modifications will not be
-automatically subject to this License.  Apple may, at its sole
-discretion, choose to license such Apple Modifications under this
-License, or on different terms from those contained in this License or
-may choose not to license them at all.  Apple's development, use,
-reproduction, modification, sublicensing and distribution of Covered
-Code will not be subject to this License.
-
-12. Termination.
-
-12.1 Termination.  This License and the rights granted hereunder will
-   terminate:
-
-(a) automatically without notice from Apple if You fail to comply with
-any term(s) of this License and fail to cure such breach within 30
-days of becoming aware of such breach; (b) immediately in the event of
-the circumstances described in Section 13.5(b); or (c) automatically
-without notice from Apple if You, at any time during the term of this
-License, commence an action for patent infringement against Apple.
-
-12.2 Effect of Termination.  Upon termination, You agree to
-immediately stop any further use, reproduction, modification,
-sublicensing and distribution of the Covered Code and to destroy all
-copies of the Covered Code that are in your possession or control.
-All sublicenses to the Covered Code which have been properly granted
-prior to termination shall survive any termination of this License.
-Provisions which, by their nature, should remain in effect beyond the
-termination of this License shall survive, including but not limited
-to Sections 3, 5, 8, 9, 10, 11, 12.2 and 13.  Neither party will be
-liable to the other for compensation, indemnity or damages of any sort
-solely as a result of terminating this License in accordance with its
-terms, and termination of this License will be without prejudice to
-any other right or remedy of either party.
-
-13.  Miscellaneous.
-
-13.1 Government End Users.  The Covered Code is a "commercial item" as
-defined in FAR 2.101.  Government software and technical data rights
-in the Covered Code include only those rights customarily provided to
-the public as defined in this License. This customary commercial
-license in technical data and software is provided in accordance with
-FAR 12.211 (Technical Data) and 12.212 (Computer Software) and, for
-Department of Defense purchases, DFAR 252.227-7015 (Technical Data --
-Commercial Items) and 227.7202-3 (Rights in Commercial Computer
-Software or Computer Software Documentation).  Accordingly, all U.S.
-Government End Users acquire Covered Code with only those rights set
-forth herein.
-
-13.2 Relationship of Parties.  This License will not be construed as
-creating an agency, partnership, joint venture or any other form of
-legal association between You and Apple, and You will not represent to
-the contrary, whether expressly, by implication, appearance or
-otherwise.
-
-13.3 Independent Development.  Nothing in this License will impair
-Apple's right to acquire, license, develop, have others develop for
-it, market and/or distribute technology or products that perform the
-same or similar functions as, or otherwise compete with,
-Modifications, Larger Works, technology or products that You may
-develop, produce, market or distribute.
-
-13.4 Waiver; Construction.  Failure by Apple to enforce any provision
-of this License will not be deemed a waiver of future enforcement of
-that or any other provision.  Any law or regulation which provides
-that the language of a contract shall be construed against the drafter
-will not apply to this License.
-
-13.5 Severability.  (a) If for any reason a court of competent
-jurisdiction finds any provision of this License, or portion thereof,
-to be unenforceable, that provision of the License will be enforced to
-the maximum extent permissible so as to effect the economic benefits
-and intent of the parties, and the remainder of this License will
-continue in full force and effect.  (b) Notwithstanding the foregoing,
-if applicable law prohibits or restricts You from fully and/or
-specifically complying with Sections 2 and/or 3 or prevents the
-enforceability of either of those Sections, this License will
-immediately terminate and You must immediately discontinue any use of
-the Covered Code and destroy all copies of it that are in your
-possession or control.
-
-13.6 Dispute Resolution.  Any litigation or other dispute resolution
-between You and Apple relating to this License shall take place in the
-Northern District of California, and You and Apple hereby consent to
-the personal jurisdiction of, and venue in, the state and federal
-courts within that District with respect to this License. The
-application of the United Nations Convention on Contracts for the
-International Sale of Goods is expressly excluded.
-
-13.7 Entire Agreement; Governing Law.  This License constitutes the
-entire agreement between the parties with respect to the subject
-matter hereof.  This License shall be governed by the laws of the
-United States and the State of California, except that body of
-California law concerning conflicts of law.
-
-Where You are located in the province of Quebec, Canada, the following
-clause applies: The parties hereby confirm that they have requested
-that this License and all related documents be drafted in English. Les
-parties ont exige que le present contrat et tous les documents
-connexes soient rediges en anglais.
-
-EXHIBIT A.
-
-"Portions Copyright (c) 1999-2000 Apple Computer, Inc.  All Rights
-Reserved.  This file contains Original Code and/or Modifications of
-Original Code as defined in and that are subject to the Apple Public
-Source License Version 1.1 (the "License").  You may not use this file
-except in compliance with the License.  Please obtain a copy of the
-License at http://www.apple.com/publicsource and read it before using
-this file.
-
-The Original Code and all software distributed under the License are
-distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
-EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
-INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE OR NON- INFRINGEMENT.  Please see the
-License for the specific language governing rights and limitations
-under the License."
diff --git a/extras/MacOSX_dvdioctl/DVDioctl.cpp b/extras/MacOSX_dvdioctl/DVDioctl.cpp
deleted file mode 100644 (file)
index c72769c..0000000
+++ /dev/null
@@ -1,690 +0,0 @@
-/*****************************************************************************
- * DVDioctl.cpp: Linux-like DVD driver for Darwin and MacOS X
- *****************************************************************************
- * Copyright (C) 1998-2000 Apple Computer, Inc. All rights reserved.
- * Copyright (C) 2001 VideoLAN
- * $Id: DVDioctl.cpp,v 1.7 2001/06/25 11:34:08 sam Exp $
- *
- * Authors: Samuel Hocevar <sam@zoy.org>
- *          Eugenio Jarosiewicz <ej0@cise.ufl.edu>
- *
- * The contents of this file constitute Original Code as defined in and
- * are subject to the Apple Public Source License Version 1.1 (the
- * "License").  You may not use this file except in compliance with the
- * License.  Please obtain a copy of the License at
- * http://www.apple.com/publicsource and read it before using this file.
- * 
- * This Original Code and all software distributed under the License are
- * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
- * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
- * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
- * License for the specific language governing rights and limitations
- * under the License.
- *****************************************************************************/
-
-/*****************************************************************************
- * TODO:
- * - add a timeout to waitForService() so that we don't wait forever
- * - find a way to prevent user from ejecting DVD using the GUI while
- *   it is still in use
- *****************************************************************************/
-
-/*****************************************************************************
- * Preamble
- *****************************************************************************/
-extern "C"
-{
-#include <sys/param.h>
-#include <sys/conf.h>
-#include <sys/syslog.h>
-#include <sys/systm.h>
-#include <sys/ioccom.h>
-#include <sys/fcntl.h>
-#include <sys/buf.h>
-#include <sys/uio.h>
-#include <miscfs/devfs/devfs.h>
-
-#include <mach/mach_types.h>
-}
-
-#include <IOKit/IOLib.h>
-#include <IOKit/IOService.h>
-#include <IOKit/storage/IOMedia.h>
-#include <IOKit/storage/IODVDMedia.h>
-#include <IOKit/storage/IODVDBlockStorageDriver.h>
-
-#undef CONTROL //some include above #defines this and breaks the next include...grr.
-#include <IOKit/scsi-commands/IOSCSIMultimediaCommandsDevice.h>
-#include <IOKit/scsi-commands/IODVDServices.h>
-
-#include "DVDioctl.h"
-
-/*****************************************************************************
- * Driver class
- *****************************************************************************/
-class DVDioctl : public IOService
-{
-    OSDeclareDefaultStructors( DVDioctl )
-
-public:
-
-    virtual bool       init   ( OSDictionary *dictionary = 0 );
-    virtual IOService *probe  ( IOService *provider, SInt32 *score );
-    virtual bool       start  ( IOService *provider );
-    virtual void       stop   ( IOService *provider );
-    virtual void       free   ( void );
-};
-
-#define super IOService
-OSDefineMetaClassAndStructors( DVDioctl, IOService )
-
-/*****************************************************************************
- * Variable typedefs
- *****************************************************************************/
-typedef enum       { DKRTYPE_BUF, DKRTYPE_DIO }      dkrtype_t;
-typedef struct dio { dev_t dev; struct uio * uio; }  dio_t;
-typedef struct buf                                   buf_t;
-typedef void *                                       dkr_t;
-
-/*****************************************************************************
- * Local prototypes
- *****************************************************************************/
-static int  DVDClose        ( dev_t, int, int, struct proc * );
-static int  DVDBlockIoctl   ( dev_t, u_long, caddr_t, int, struct proc * );
-static int  DVDOpen         ( dev_t, int, int, struct proc * );
-static int  DVDSize         ( dev_t );
-static void DVDStrategy     ( buf_t * );
-static int  DVDReadWrite    ( dkr_t, dkrtype_t );
-static void DVDReadWriteCompletion( void *, void *, IOReturn, UInt64 );
-
-static struct bdevsw device_functions =
-{
-    DVDOpen, DVDClose, DVDStrategy, DVDBlockIoctl, eno_dump, DVDSize, D_DISK
-};
-
-/*****************************************************************************
- * Local variables
- *****************************************************************************/
-static DVDioctl * p_this = NULL;
-
-static bool b_inuse;
-static int i_major;
-static void *p_node;
-static IODVDMedia *p_dvd;
-static IODVDBlockStorageDriver *p_drive;
-static IODVDServices *p_services;
-static IOSCSIMultimediaCommandsDevice *p_scsi_mcd;
-
-/*****************************************************************************
- * DKR_GET_DEV: borrowed from IOMediaBSDClient.cpp
- *****************************************************************************/
-static inline dev_t DKR_GET_DEV(dkr_t dkr, dkrtype_t dkrtype)
-{
-    return (dkrtype == DKRTYPE_BUF)
-           ? ((buf_t *)dkr)->b_dev : ((dio_t *)dkr)->dev;
-}
-
-/*****************************************************************************
- * DKR_GET_BYTE_COUNT: borrowed from IOMediaBSDClient.cpp
- *****************************************************************************/
-static inline UInt64 DKR_GET_BYTE_COUNT(dkr_t dkr, dkrtype_t dkrtype)
-{
-    return (dkrtype == DKRTYPE_BUF)
-           ? ((buf_t *)dkr)->b_bcount : ((dio_t *)dkr)->uio->uio_resid;
-}
-
-/*****************************************************************************
- * DKR_GET_BYTE_START: borrowed from IOMediaBSDClient.cpp
- *****************************************************************************/
-static inline UInt64 DKR_GET_BYTE_START(dkr_t dkr, dkrtype_t dkrtype)
-{
-    if (dkrtype == DKRTYPE_BUF)
-    {
-        buf_t * bp    = (buf_t *)dkr;
-        return bp->b_blkno * p_dvd->getPreferredBlockSize();
-    }
-    return ((dio_t *)dkr)->uio->uio_offset;
-}
-
-/*****************************************************************************
- * DKR_IS_READ: borrowed from IOMediaBSDClient.cpp
- *****************************************************************************/
-static inline bool DKR_IS_READ(dkr_t dkr, dkrtype_t dkrtype)
-{
-    return (dkrtype == DKRTYPE_BUF)
-           ? ((((buf_t *)dkr)->b_flags & B_READ) == B_READ)
-           : ((((dio_t *)dkr)->uio->uio_rw) == UIO_READ);
-}
-
-/*****************************************************************************
- * DKR_IS_ASYNCHRONOUS: borrowed from IOMediaBSDClient.cpp
- *****************************************************************************/
-static inline bool DKR_IS_ASYNCHRONOUS(dkr_t dkr, dkrtype_t dkrtype)
-{
-    return (dkrtype == DKRTYPE_BUF) ? true : false;
-}
-
-/*****************************************************************************
- * DKR_IS_RAW: borrowed from IOMediaBSDClient.cpp
- *****************************************************************************/
-static inline bool DKR_IS_RAW(dkr_t dkr, dkrtype_t dkrtype)
-{
-    return (dkrtype == DKRTYPE_BUF) ? false : true;
-}
-
-/*****************************************************************************
- * DKR_SET_BYTE_COUNT: borrowed from IOMediaBSDClient.cpp
- *****************************************************************************/
-static inline void DKR_SET_BYTE_COUNT(dkr_t dkr, dkrtype_t dkrtype, UInt64 bcount)
-{
-    if (dkrtype == DKRTYPE_BUF)
-    {
-        ((buf_t *)dkr)->b_resid = ((buf_t *)dkr)->b_bcount - bcount;
-    }
-    else
-    {
-        ((dio_t *)dkr)->uio->uio_resid -= bcount;
-    }
-}
-
-/*****************************************************************************
- * DKR_RUN_COMPLETION: borrowed from IOMediaBSDClient.cpp
- *****************************************************************************/
-static inline void DKR_RUN_COMPLETION(dkr_t dkr, dkrtype_t dkrtype, IOReturn status)
-{
-    if (dkrtype == DKRTYPE_BUF)
-    {
-        buf_t * bp = (buf_t *)dkr;
-
-        bp->b_error  = p_this->errnoFromReturn(status);
-        bp->b_flags |= (status != kIOReturnSuccess) ? B_ERROR : 0;
-        biodone(bp);
-    }
-}
-
-/*****************************************************************************
- * DKR_GET_BUFFER: borrowed from IOMediaBSDClient.cpp
- *****************************************************************************/
-static inline IOMemoryDescriptor * DKR_GET_BUFFER(dkr_t dkr, dkrtype_t dkrtype)
-{
-    if (dkrtype == DKRTYPE_BUF)
-    {
-        buf_t * bp = (buf_t *)dkr;
-
-        if ( (bp->b_flags & B_VECTORLIST) )
-        {
-            assert(sizeof(IOPhysicalRange         ) == sizeof(iovec          ));
-            assert(sizeof(IOPhysicalRange::address) == sizeof(iovec::iov_base));
-            assert(sizeof(IOPhysicalRange::length ) == sizeof(iovec::iov_len ));
-            return IOMemoryDescriptor::withPhysicalRanges(
-              (IOPhysicalRange *) bp->b_vectorlist,
-              (UInt32)            bp->b_vectorcount,
-              (bp->b_flags & B_READ) ? kIODirectionIn : kIODirectionOut,
-              true );
-        }
-
-        return IOMemoryDescriptor::withAddress(
-          (vm_address_t) bp->b_data,
-          (vm_size_t)    bp->b_bcount,
-          (bp->b_flags & B_READ) ? kIODirectionIn : kIODirectionOut,
-          (bp->b_flags & B_PHYS) ? current_task() : kernel_task );
-    }
-    else
-    {
-        struct uio * uio = ((dio_t *)dkr)->uio;
-
-        assert(sizeof(IOVirtualRange         ) == sizeof(iovec          ));
-        assert(sizeof(IOVirtualRange::address) == sizeof(iovec::iov_base));
-        assert(sizeof(IOVirtualRange::length ) == sizeof(iovec::iov_len ));
-
-        return IOMemoryDescriptor::withRanges(
-        (IOVirtualRange *) uio->uio_iov,
-        (UInt32)           uio->uio_iovcnt,
-        (uio->uio_rw     == UIO_READ    ) ? kIODirectionIn : kIODirectionOut,
-        (uio->uio_segflg != UIO_SYSSPACE) ? current_task() : kernel_task,
-        true );
-    }
-}
-
-/*****************************************************************************
- * DVDioctl::init: initialize the driver structure
- *****************************************************************************/
-bool DVDioctl::init( OSDictionary *p_dict = 0 )
-{
-    //IOLog( "DVD ioctl: initializing\n" );
-
-    p_this = this;
-
-    p_node  = NULL;
-    p_dvd   = NULL;
-    p_drive = NULL;
-    p_services = NULL;
-    p_scsi_mcd = NULL;
-    i_major = -1;
-    b_inuse = false;
-
-    bool res = super::init( p_dict );
-
-    return res;
-}
-    
-/*****************************************************************************
- * DVDioctl::probe: check whether the driver can be safely activated
- *****************************************************************************/
-IOService * DVDioctl::probe( IOService *provider, SInt32 *score )
-{
-    //IOLog( "DVD ioctl: probing\n" );
-    IOService * res = super::probe( provider, score );
-
-    return res;
-}
-
-/*****************************************************************************
- * DVDioctl::start: start the driver
- *****************************************************************************/
-bool DVDioctl::start( IOService *provider )
-{
-    //IOLog( "DVD ioctl: starting\n" );
-
-    if( !super::start( provider ) )
-    {
-        return false;
-    }
-
-    //IOLog( "DVD ioctl: creating device\n" );
-
-    i_major = bdevsw_add( -1, &device_functions );
-
-    if( i_major == -1 )
-    {
-        //log(LOG_INFO, "DVD ioctl: failed to allocate a major number\n");
-        return false;
-    }
-
-    p_node = devfs_make_node ( makedev( i_major, 0 ), DEVFS_BLOCK,
-                               UID_ROOT, GID_WHEEL, 0666, "dvd" );
-
-    if( p_node == NULL )
-    {
-        //log( LOG_INFO, "DVD ioctl: failed creating node\n" );
-
-        if( bdevsw_remove(i_major, &device_functions) == -1 )
-        {
-            //log( LOG_INFO, "DVD ioctl: bdevsw_remove failed\n" );
-        }
-
-        return false;
-    }
-
-    return true;
-}
-
-/*****************************************************************************
- * DVDioctl::stop: stop the driver
- *****************************************************************************/
-void DVDioctl::stop( IOService *provider )
-{
-    //IOLog( "DVD ioctl: removing device\n" );
-
-    if( p_node != NULL )
-    {
-        devfs_remove( p_node );
-    }
-
-    if( i_major != -1 )
-    {
-        if( bdevsw_remove(i_major, &device_functions) == -1 )
-        {
-            //log( LOG_INFO, "DVD ioctl: bdevsw_remove failed\n" );
-        }
-    }
-
-    //IOLog( "DVD ioctl: stopping\n" );
-    super::stop( provider );
-}
-  
-/*****************************************************************************
- * DVDioctl::free: free all resources allocated by the driver
- *****************************************************************************/
-void DVDioctl::free( void )
-{
-    //IOLog( "DVD ioctl: freeing\n" );
-    super::free( );
-}
-
-/* following functions are local */
-
-/*****************************************************************************
- * DVDOpen: look for an IODVDMedia object and open it
- *****************************************************************************/
-static int DVDOpen( dev_t dev, int flags, int devtype, struct proc * )
-{
-    IOStorageAccess level;
-
-    /* Check that the device hasn't already been opened */
-    if( b_inuse )
-    {
-        //log( LOG_INFO, "DVD ioctl: already opened\n" );
-        return EBUSY;
-    }
-    else
-    {
-        b_inuse = true;
-    }
-
-    IOService * p_root = IOService::getServiceRoot();
-   
-    if( p_root == NULL )
-    {
-        //log( LOG_INFO, "DVD ioctl: couldn't find root\n" );
-        b_inuse = false;
-        return ENXIO;
-    }
-
-    OSDictionary * p_dict = p_root->serviceMatching( kIODVDMediaClass );
-
-    if( p_dict == NULL )
-    {
-        //log( LOG_INFO, "DVD ioctl: couldn't find dictionary\n" );
-        b_inuse = false;
-        return ENXIO;
-    }
-
-    p_dvd = OSDynamicCast( IODVDMedia, p_root->waitForService( p_dict ) );
-
-    if( p_dvd == NULL )
-    {
-        //log( LOG_INFO, "DVD ioctl: couldn't find service\n" );
-        b_inuse = false;
-        return ENXIO;
-    }
-
-    //log( LOG_INFO, "DVD ioctl: found DVD\n" );
-
-    level = (flags & FWRITE) ? kIOStorageAccessReaderWriter
-                             : kIOStorageAccessReader;
-
-    if( ! p_dvd->open( p_this, 0, level) )
-    {
-        log( LOG_INFO, "DVD ioctl: IODVDMedia object busy\n" );
-        b_inuse = false;
-        return EBUSY;
-    }
-
-    p_drive = p_dvd->getProvider();
-
-    p_services = OSDynamicCast( IODVDServices, p_drive->getProvider() );
-
-    p_scsi_mcd = OSDynamicCast( IOSCSIMultimediaCommandsDevice, p_services->getProvider() );
-
-    log( LOG_INFO, "DVD ioctl: IODVDMedia->open()\n" );
-
-    return 0;
-}
-
-/*****************************************************************************
- * DVDClose: close the IODVDMedia object
- *****************************************************************************/
-static int DVDClose( dev_t dev, int flags, int devtype, struct proc * )
-{
-    /* Release the device */
-    p_dvd->close( p_this );
-
-    p_dvd   = NULL;
-    p_drive = NULL;
-    p_services = NULL;
-    p_scsi_mcd = NULL;
-    b_inuse = false;
-
-    log( LOG_INFO, "DVD ioctl: IODVDMedia->close()\n" );
-
-    return 0;
-}
-
-/*****************************************************************************
- * DVDSize: return the device size
- *****************************************************************************/
-static int DVDSize( dev_t dev )
-{
-    return p_dvd->getPreferredBlockSize();
-}
-
-/*****************************************************************************
- * DVDStrategy: perform read or write operations
- *****************************************************************************/
-static void DVDStrategy( buf_t * bp )
-{
-    DVDReadWrite(bp, DKRTYPE_BUF);
-    return;
-}
-
-/*****************************************************************************
- * DVDBlockIoctl: issue an ioctl on the block device
- *****************************************************************************/
-static int DVDBlockIoctl( dev_t dev, u_long cmd, caddr_t addr, int flags,
-                          struct proc *p )
-{
-#define p_data (((dvdioctl_data_t *)addr))
-    IOReturn            i_ret = EINVAL;
-
-    /* Only needed for IODVD_READ_STRUCTURE */
-    SCSITask           *p_request;
-    SCSIServiceResponse response;
-    
-    IOMemoryDescriptor *p_mem;
-
-    p_mem = IOMemoryDescriptor::withAddress( p_data->p_buffer,
-                                             p_data->i_size,
-                                             kIODirectionOutIn );
-
-    switch( cmd )
-    {
-        case IODVD_READ_STRUCTURE:
-
-            log( LOG_INFO, "DVD ioctl: IODVD_READ_STRUCTURE\n" );
-
-            i_ret = kIOReturnUnsupported;
-            response = kSCSIServiceResponse_SERVICE_DELIVERY_OR_TARGET_FAILURE;
-
-/* HACK! - Make GetSCSITask and friends in /System/Library/Frameworks/Kernel.framework/Versions/A/Headers/IOKit/scsi-commands/IOSCSIPrimaryCommandsDevice.h public by moving public: from line 96 to line 79 (as root).  It's only a compile time check - not a link time thing, so it should be ok. */
-            p_request = p_scsi_mcd->GetSCSITask( );
-
-            if ( p_scsi_mcd->READ_DVD_STRUCTURE ( p_request,
-                                                  p_mem,
-                                                  p_data->i_lba,
-                                                  0,//?LAYER_NUMBER
-                                                  p_data->i_keyformat,
-                                                  p_mem->getLength(),//p_data->i_size ?
-                                                  p_data->i_agid,
-                                                  0x00 //?CONTROL
-                                                   ) == true )
-                {
-                    /* The command was successfully built, now send it */
-                    response = p_scsi_mcd->SendCommand( p_request );
-                }
-                else
-                {
-#if 0
-                    exit -1;
-                    PANIC_NOW(( "IOSCSIMultimediaCommandsDevice:: "
-                                "readDVDstruct malformed command" ));
-#endif
-                }
-
-                if( ( response == kSCSIServiceResponse_TASK_COMPLETE ) &&
-                    ( p_request->GetTaskStatus ( ) == kSCSITaskStatus_GOOD ) )
-                {
-                    i_ret = kIOReturnSuccess;
-                }
-                else
-                {
-                    i_ret = kIOReturnError;
-                }
-
-                p_scsi_mcd->ReleaseSCSITask( p_request );
-                        
-            }
-
-            break;
-
-        case IODVD_SEND_KEY:
-
-            log( LOG_INFO, "DVD ioctl: send key to `%s', "
-                 "buf %d, class %d, lba N/A, agid %d, format %d\n",
-                 p_drive->getDeviceTypeName(),
-                 (int)p_data->p_buffer, p_data->i_keyclass,
-                 p_data->i_agid, p_data->i_keyformat );
-
-            i_ret = p_drive->sendKey( p_mem, (DVDKeyClass)p_data->i_keyclass,
-                                      p_data->i_agid,
-                                      (DVDKeyFormat)p_data->i_keyformat );
-
-            break;
-
-        case IODVD_REPORT_KEY:
-
-            log( LOG_INFO, "DVD ioctl: report key from `%s', "
-                 "buf %d, class %d, lba %d, agid %d, format %d\n",
-                 p_drive->getDeviceTypeName(),
-                 (int)p_data->p_buffer, p_data->i_keyclass, p_data->i_lba,
-                 p_data->i_agid, p_data->i_keyformat );
-
-            i_ret = p_drive->reportKey( p_mem, (DVDKeyClass)p_data->i_keyclass,
-                                        p_data->i_lba, p_data->i_agid,
-                                        (DVDKeyFormat)p_data->i_keyformat );
-
-            break;
-
-        default:
-
-            log( LOG_INFO, "DVD ioctl: unknown ioctl\n" );
-
-            i_ret = EINVAL;
-
-            break;
-    }
-
-    return i_ret;
-#undef p_data
-}
-
-/*****************************************************************************
- * DVDReadWrite: borrowed from IOMediaBSDClient.cpp
- *****************************************************************************/
-static int DVDReadWrite(dkr_t dkr, dkrtype_t dkrtype)
-{
-    IOMemoryDescriptor * buffer;
-    register UInt64      byteCount;
-    register UInt64      byteStart;
-    UInt64               mediaSize;
-    IOReturn             status;
-
-    byteCount = DKR_GET_BYTE_COUNT(dkr, dkrtype);
-    byteStart = DKR_GET_BYTE_START(dkr, dkrtype);
-    mediaSize = p_dvd->getSize();
-
-    if ( byteStart >= mediaSize )
-    {
-        status = DKR_IS_READ(dkr,dkrtype) ? kIOReturnSuccess : kIOReturnIOError;        goto dkreadwriteErr;
-    }
-
-    if ( DKR_IS_RAW(dkr, dkrtype) )
-    {
-        UInt64 mediaBlockSize = p_dvd->getPreferredBlockSize();
-
-        if ( (byteStart % mediaBlockSize) || (byteCount % mediaBlockSize) )
-        {
-            status = kIOReturnNotAligned;
-            goto dkreadwriteErr;
-        }
-    }
-
-    buffer = DKR_GET_BUFFER(dkr, dkrtype);
-
-    if ( buffer == 0 )
-    {
-        status = kIOReturnNoMemory;
-        goto dkreadwriteErr;
-    }
-
-    if ( byteCount > mediaSize - byteStart )
-    {
-        IOMemoryDescriptor * originalBuffer = buffer;
-
-        buffer = IOMemoryDescriptor::withSubRange( originalBuffer, 0,
-                     mediaSize - byteStart, originalBuffer->getDirection() );
-        originalBuffer->release();
-        if ( buffer == 0 )
-        {
-            status = kIOReturnNoMemory;
-            goto dkreadwriteErr;
-        }
-    }
-
-    if ( DKR_IS_ASYNCHRONOUS(dkr, dkrtype) )
-    {
-        IOStorageCompletion completion;
-
-        completion.target    = dkr;
-        completion.action    = DVDReadWriteCompletion;
-        completion.parameter = (void *) dkrtype;
-
-        if ( DKR_IS_READ(dkr, dkrtype) )
-        {
-            p_dvd->read(  p_this, byteStart, buffer, completion );
-        }
-        else
-        {
-            p_dvd->write( p_this, byteStart, buffer, completion );
-        }
-
-        status = kIOReturnSuccess;
-    }
-    else
-    {
-        if ( DKR_IS_READ(dkr, dkrtype) )
-        {
-            status = p_dvd->IOStorage::read( p_this, byteStart,
-                                             buffer, &byteCount );
-        }
-        else
-        {
-            status = p_dvd->IOStorage::write( p_this, byteStart,
-                                              buffer, &byteCount );
-        }
-
-        DVDReadWriteCompletion(dkr, (void *)dkrtype, status, byteCount);
-    }
-
-    buffer->release();
-    return p_this->errnoFromReturn(status);
-dkreadwriteErr:
-
-    DVDReadWriteCompletion(dkr, (void *)dkrtype, status, 0);
-
-    return p_this->errnoFromReturn(status);
-}
-
-/*****************************************************************************
- * DVDReadWriteCompletion: borrowed from IOMediaBSDClient.cpp
- *****************************************************************************/
-static void DVDReadWriteCompletion( void *   target,
-                                    void *   parameter,
-                                    IOReturn status,
-                                    UInt64   actualByteCount )
-{
-    dkr_t     dkr      = (dkr_t) target;
-    dkrtype_t dkrtype  = (dkrtype_t) (int) parameter;
-    dev_t     dev      = DKR_GET_DEV(dkr, dkrtype);
-
-    if ( status != kIOReturnSuccess )
-    {
-        IOLog( "DVD ioctl: %s (is the disc authenticated ?)\n",
-               p_this->stringFromReturn(status) );
-    }
-
-    DKR_SET_BYTE_COUNT(dkr, dkrtype, actualByteCount);
-    DKR_RUN_COMPLETION(dkr, dkrtype, status);
-}
-
diff --git a/extras/MacOSX_dvdioctl/DVDioctl.h b/extras/MacOSX_dvdioctl/DVDioctl.h
deleted file mode 100644 (file)
index e90ed7c..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-/*****************************************************************************
- * DVDioctl.h: Linux-like DVD driver for Darwin and MacOS X
- *****************************************************************************
- * Copyright (C) 2001 VideoLAN
- * $Id: DVDioctl.h,v 1.4 2001/06/25 11:34:08 sam Exp $
- *
- * Authors: Samuel Hocevar <sam@zoy.org>
- *          Eugenio Jarosiewicz <ej0@cise.ufl.edu>
- *
- * The contents of this file constitute Original Code as defined in and
- * are subject to the Apple Public Source License Version 1.1 (the
- * "License").  You may not use this file except in compliance with the
- * License.  Please obtain a copy of the License at
- * http://www.apple.com/publicsource and read it before using this file.
- * 
- * This Original Code and all software distributed under the License are
- * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
- * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
- * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
- * License for the specific language governing rights and limitations
- * under the License.
- *****************************************************************************/
-
-#if defined(KERNEL)
-/* Everything has already been defined */
-#else
-enum DVDKeyFormat
-{
-    kCSSAGID        = 0x00,
-    kChallengeKey   = 0x01,
-    kKey1           = 0x02,
-    kKey2           = 0x03,
-    kTitleKey       = 0x04,
-    kASF            = 0x05,
-    kSetRegion      = 0x06,
-    kRPCState       = 0x08,
-    kCSS2AGID       = 0x10,
-    kCPRMAGID       = 0x11,
-    kInvalidateAGID = 0x3f
-};
-
-enum DVDKeyClass
-{
-    kCSS_CSS2_CPRM  = 0x00,
-    kRSSA           = 0x01
-};
-#endif
-
-typedef struct dvdioctl_data
-{
-    void         *p_buffer;
-
-#if defined(KERNEL)
-    UInt32        i_size;
-    UInt32        i_lba;
-    UInt8         i_agid;
-#else
-    u32           i_size;
-    u32           i_lba;
-    u8            i_agid;
-#endif
-
-    int           i_keyclass;
-    int           i_keyformat;
-
-} dvdioctl_data_t;
-
-#define IODVD_READ_STRUCTURE _IOWR('B', 1, dvdioctl_data_t)
-#define IODVD_SEND_KEY       _IOWR('B', 2, dvdioctl_data_t)
-#define IODVD_REPORT_KEY     _IOWR('B', 3, dvdioctl_data_t)
-
diff --git a/extras/MacOSX_dvdioctl/DVDioctl.pbproj/project.pbxproj b/extras/MacOSX_dvdioctl/DVDioctl.pbproj/project.pbxproj
deleted file mode 100644 (file)
index 3b737b4..0000000
+++ /dev/null
@@ -1,274 +0,0 @@
-// !$*UTF8*$!
-{
-       archiveVersion = 1;
-       classes = {
-       };
-       objectVersion = 32;
-       objects = {
-               06AA1264FFB2107B11CA28AA = {
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       generatedFileNames = (
-                       );
-                       isa = PBXShellScriptBuildPhase;
-                       name = "Shell Script";
-                       neededFileNames = (
-                       );
-                       shellPath = /bin/sh;
-                       shellScript = "script=\"${SYSTEM_DEVELOPER_DIR}/ProjectBuilder Extras/Kernel Extension Support/KEXTPostprocess\";\nif [ -x \"$script\" ]; then\n    . \"$script\"\nfi";
-               };
-               06AA1265FFB2107B11CA28AA = {
-                       buildRules = (
-                       );
-                       buildSettings = {
-                               COPY_PHASE_STRIP = NO;
-                       };
-                       isa = PBXBuildStyle;
-                       name = Development;
-               };
-               06AA1266FFB2107B11CA28AA = {
-                       buildRules = (
-                       );
-                       buildSettings = {
-                               COPY_PHASE_STRIP = YES;
-                       };
-                       isa = PBXBuildStyle;
-                       name = Deployment;
-               };
-               06AA1267FFB2110C11CA28AA = {
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       generatedFileNames = (
-                       );
-                       isa = PBXShellScriptBuildPhase;
-                       name = "Shell Script";
-                       neededFileNames = (
-                       );
-                       shellPath = /bin/sh;
-                       shellScript = "script=\"${SYSTEM_DEVELOPER_DIR}/ProjectBuilder Extras/Kernel Extension Support/KEXTPreprocess\";\nif [ -x \"$script\" ]; then\n    . \"$script\"\nfi";
-               };
-               089C1669FE841209C02AAC07 = {
-                       buildStyles = (
-                               06AA1265FFB2107B11CA28AA,
-                               06AA1266FFB2107B11CA28AA,
-                       );
-                       isa = PBXProject;
-                       mainGroup = 089C166AFE841209C02AAC07;
-                       projectDirPath = .;
-                       targets = (
-                               089C1673FE841209C02AAC07,
-                       );
-               };
-               089C166AFE841209C02AAC07 = {
-                       children = (
-                               247142CAFF3F8F9811CA285C,
-                               089C167CFE841241C02AAC07,
-                               19C28FB6FE9D52B211CA2CBB,
-                       );
-                       isa = PBXGroup;
-                       name = DVDioctl;
-                       refType = 4;
-               };
-               089C1673FE841209C02AAC07 = {
-                       buildPhases = (
-                               06AA1267FFB2110C11CA28AA,
-                               089C1674FE841209C02AAC07,
-                               089C1675FE841209C02AAC07,
-                               089C1676FE841209C02AAC07,
-                               089C1677FE841209C02AAC07,
-                               089C1679FE841209C02AAC07,
-                               06AA1264FFB2107B11CA28AA,
-                       );
-                       buildSettings = {
-                               FRAMEWORK_SEARCH_PATHS = "";
-                               HEADER_SEARCH_PATHS = "";
-                               INSTALL_PATH = "$(SYSTEM_LIBRARY_DIR)/Extensions";
-                               KERNEL_MODULE = YES;
-                               LIBRARY_SEARCH_PATHS = "";
-                               MODULE_IOKIT = YES;
-                               MODULE_NAME = DVDioctl;
-                               MODULE_VERSION = 1.0.0d1;
-                               OPTIMIZATION_CFLAGS = "";
-                               OTHER_CFLAGS = "";
-                               OTHER_LDFLAGS = "";
-                               OTHER_REZFLAGS = "";
-                               PRODUCT_NAME = DVDioctl;
-                               SECTORDER_FLAGS = "";
-                               WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas";
-                               WRAPPER_EXTENSION = kext;
-                       };
-                       conditionalBuildSettings = {
-                       };
-                       dependencies = (
-                       );
-                       isa = PBXBundleTarget;
-                       name = DVDioctl;
-                       productInstallPath = "$(SYSTEM_LIBRARY_DIR)/Extensions";
-                       productName = DVDioctl;
-                       productReference = 0B81C263FFB7832611CA28AA;
-                       productSettingsXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist SYSTEM \"file://localhost/System/Library/DTDs/PropertyList.dtd\">
-<plist version=\"0.9\">
-<dict>
-       <key>CFBundleDevelopmentRegion</key>
-       <string>English</string>
-       <key>CFBundleExecutable</key>
-       <string>DVDioctl</string>
-       <key>CFBundleIconFile</key>
-       <string></string>
-       <key>CFBundleIdentifier</key>
-       <string>DVDioctl</string>
-       <key>CFBundleInfoDictionaryVersion</key>
-       <string>6.0</string>
-       <key>CFBundlePackageType</key>
-       <string>KEXT</string>
-       <key>CFBundleShortVersionString</key>
-       <string>1.0.0</string>
-       <key>CFBundleSignature</key>
-       <string>????</string>
-       <key>CFBundleVersion</key>
-       <string>1.0.0d1</string>
-       <key>IOKitPersonalities</key>
-       <dict>
-               <key>DVDioctl</key>
-               <dict>
-                       <key>CFBundleIdentifier</key>
-                       <string>DVDioctl</string>
-                       <key>IOClass</key>
-                       <string>DVDioctl</string>
-                       <key>IOKitDebug</key>
-                       <integer>65535</integer>
-                       <key>IOMatchCategory</key>
-                       <string>DVDioctl</string>
-                       <key>IOProviderClass</key>
-                       <string>IOResources</string>
-                       <key>IOResourceMatch</key>
-                       <string>IOKit</string>
-               </dict>
-       </dict>
-       <key>OSBundleLibraries</key>
-       <dict/>
-</dict>
-</plist>
-";
-                       shouldUseHeadermap = 1;
-               };
-               089C1674FE841209C02AAC07 = {
-                       buildActionMask = 2147483647;
-                       files = (
-                               1A224C40FF42367911CA2CB7,
-                       );
-                       isa = PBXHeadersBuildPhase;
-                       name = Headers;
-               };
-               089C1675FE841209C02AAC07 = {
-                       buildActionMask = 2147483647;
-                       files = (
-                               089C1680FE841241C02AAC07,
-                       );
-                       isa = PBXResourcesBuildPhase;
-                       name = "Bundle Resources";
-               };
-               089C1676FE841209C02AAC07 = {
-                       buildActionMask = 2147483647;
-                       files = (
-                               1A224C41FF42367911CA2CB7,
-                       );
-                       isa = PBXSourcesBuildPhase;
-                       name = Sources;
-               };
-               089C1677FE841209C02AAC07 = {
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       isa = PBXFrameworksBuildPhase;
-                       name = "Frameworks & Libraries";
-               };
-               089C1679FE841209C02AAC07 = {
-                       buildActionMask = 2147483647;
-                       files = (
-                       );
-                       isa = PBXRezBuildPhase;
-                       name = "ResourceManager Resources";
-               };
-               089C167CFE841241C02AAC07 = {
-                       children = (
-                               089C167DFE841241C02AAC07,
-                       );
-                       isa = PBXGroup;
-                       name = Resources;
-                       refType = 4;
-               };
-               089C167DFE841241C02AAC07 = {
-                       children = (
-                               089C167EFE841241C02AAC07,
-                       );
-                       isa = PBXVariantGroup;
-                       name = InfoPlist.strings;
-                       refType = 4;
-               };
-               089C167EFE841241C02AAC07 = {
-                       fileEncoding = 10;
-                       isa = PBXFileReference;
-                       name = English;
-                       path = English.lproj/InfoPlist.strings;
-                       refType = 4;
-               };
-               089C1680FE841241C02AAC07 = {
-                       fileRef = 089C167DFE841241C02AAC07;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               0B81C263FFB7832611CA28AA = {
-                       isa = PBXBundleReference;
-                       path = DVDioctl.kext;
-                       refType = 3;
-               };
-               19C28FB6FE9D52B211CA2CBB = {
-                       children = (
-                               0B81C263FFB7832611CA28AA,
-                       );
-                       isa = PBXGroup;
-                       name = Products;
-                       refType = 4;
-               };
-               1A224C3EFF42367911CA2CB7 = {
-                       isa = PBXFileReference;
-                       path = DVDioctl.h;
-                       refType = 4;
-               };
-               1A224C3FFF42367911CA2CB7 = {
-                       isa = PBXFileReference;
-                       path = DVDioctl.cpp;
-                       refType = 4;
-               };
-               1A224C40FF42367911CA2CB7 = {
-                       fileRef = 1A224C3EFF42367911CA2CB7;
-                       isa = PBXBuildFile;
-                       settings = {
-                       };
-               };
-               1A224C41FF42367911CA2CB7 = {
-                       fileRef = 1A224C3FFF42367911CA2CB7;
-                       isa = PBXBuildFile;
-                       settings = {
-                               ATTRIBUTES = (
-                               );
-                       };
-               };
-               247142CAFF3F8F9811CA285C = {
-                       children = (
-                               1A224C3EFF42367911CA2CB7,
-                               1A224C3FFF42367911CA2CB7,
-                       );
-                       isa = PBXGroup;
-                       name = Source;
-                       path = "";
-                       refType = 4;
-               };
-       };
-       rootObject = 089C1669FE841209C02AAC07;
-}
diff --git a/extras/MacOSX_dvdioctl/English.lproj/InfoPlist.strings b/extras/MacOSX_dvdioctl/English.lproj/InfoPlist.strings
deleted file mode 100644 (file)
index 42ccc05..0000000
Binary files a/extras/MacOSX_dvdioctl/English.lproj/InfoPlist.strings and /dev/null differ
diff --git a/extras/MacOSX_dvdioctl/README b/extras/MacOSX_dvdioctl/README
deleted file mode 100644 (file)
index 27a0d0f..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-
-DVD driver for Darwin and Mac OS X
-==================================
-
-This experimental kernel extension (KEXT) for Darwin is a wrapper for
-the DVD-related kernel IOKit functions. It was written for two main reasons:
-
-  - the lack of userland support for DVD key negociation functions
-  - the fact that the kernel locks mounted device, preventing raw device
-    reads if the DVD is mounted
-
-Building the driver
-===================
-
-You can either load the project in Project Builder and press the "build"
-icon, or open a terminal window and type "pbxbuild".
-
-Installing the driver
-=====================
-
-Open a terminal window, and type "kextload build/DVDioctl.kext", or whatever
-the path to the build tree is. You need to be root in order to do this.
-
-Using the driver
-================
-
-The driver creates a special /dev/dvd block device upon loading. When a
-process tries to open this device, it looks for an IODVDMedia object and
-opens it. All further operation done to the /dev/dvd device are then
-forwarded to the IODVDMedia device.
-
index 6243ca4970142849cf6940275ffdbe9b4a8dfa35..c0ef18b23c447bd43ff0bd8f4e30f355ede3899e 100644 (file)
@@ -8,7 +8,7 @@
  *  -dvd_udf to find files
  *****************************************************************************
  * Copyright (C) 1998-2001 VideoLAN
- * $Id: dvd_access.c,v 1.8 2002/03/15 04:41:54 sam Exp $
+ * $Id: dvd_access.c,v 1.9 2002/03/18 19:14:52 sam Exp $
  *
  * Author: Stéphane Borel <stef@via.ecp.fr>
  *
@@ -787,7 +787,7 @@ static char * DVDParse( input_thread_t * p_input )
     /* check block device */
     if( stat( psz_device, &stat_info ) == -1 )
     {
-        intf_ErrMsg( "input error: cannot stat() device `%s' (%s)",
+        intf_ErrMsg( "dvd error: cannot stat() device `%s' (%s)",
                      psz_device, strerror(errno));
         return NULL;                    
     }
index e57e12ae049f6b90228428d2e50bbb02cc41a324..674906e4bf927a917c0041e09d4405fab5142774 100644 (file)
@@ -1,7 +1,7 @@
 /* dvd_demux.c: DVD demux functions.
  *****************************************************************************
  * Copyright (C) 1998-2001 VideoLAN
- * $Id: dvd_demux.c,v 1.3 2002/03/09 16:48:33 stef Exp $
+ * $Id: dvd_demux.c,v 1.4 2002/03/18 19:14:52 sam Exp $
  *
  * Author: Stéphane Borel <stef@via.ecp.fr>
  *
@@ -88,6 +88,11 @@ void _M( demux_getfunctions)( function_list_t * p_function_list )
  *****************************************************************************/
 static int DVDInit( input_thread_t * p_input )
 {
+    if( p_input->stream.i_method != INPUT_METHOD_DVD )
+    {
+        return -1;
+    }
+
     vlc_mutex_lock( &p_input->stream.stream_lock );
     
     DVDLaunchDecoders( p_input );
index c4d4b8cf2f8eb06357d4448637db821a14ddcd5f..883cdce64c5724fd887bd7b8651f2468e370edf0 100644 (file)
@@ -6,7 +6,7 @@
  * It depends on: libdvdread for ifo files and block reading.
  *****************************************************************************
  * Copyright (C) 2001 VideoLAN
- * $Id: input_dvdread.c,v 1.33 2002/03/12 18:37:46 stef Exp $
+ * $Id: input_dvdread.c,v 1.34 2002/03/18 19:14:52 sam Exp $
  *
  * Author: Stéphane Borel <stef@via.ecp.fr>
  *
@@ -131,6 +131,11 @@ void _M( demux_getfunctions )( function_list_t * p_function_list )
  *****************************************************************************/
 static int DvdReadInit( input_thread_t * p_input )
 {
+    if( p_input->stream.i_method != INPUT_METHOD_DVD )
+    {
+        return -1;
+    }
+
     vlc_mutex_lock( &p_input->stream.stream_lock );
     
     DvdReadLauchDecoders( p_input );
index 2b1613d9784a91e14068a6667126710db28dbad1..81ddb1e08ad04a718ef33ae06820c9a5d20074c6 100644 (file)
@@ -2,7 +2,7 @@
  * scope.c : Scope effect module
  *****************************************************************************
  * Copyright (C) 2002 VideoLAN
- * $Id: scope.c,v 1.4 2002/03/02 03:51:23 sam Exp $
+ * $Id: scope.c,v 1.5 2002/03/18 19:14:52 sam Exp $
  *
  * Authors: Samuel Hocevar <sam@zoy.org>
  *
@@ -106,6 +106,8 @@ static void aout_getfunctions( function_list_t * p_function_list )
  *****************************************************************************/
 static int aout_Open( aout_thread_t *p_aout )
 {
+    char *psz_method;
+
     /* Allocate structure */
     p_aout->p_sys = malloc( sizeof( aout_sys_t ) );
     if( p_aout->p_sys == NULL )
@@ -114,11 +116,32 @@ static int aout_Open( aout_thread_t *p_aout )
         return -1;
     }
 
+    psz_method = config_GetPszVariable( "aout" );
+    if( psz_method )
+    {
+        if( !*psz_method )
+        {
+            free( psz_method );
+            return -1;
+        }
+    }
+    else
+    {
+        return -1;
+    }
+
     /* Open video output */
     p_aout->p_sys->p_vout =
         vout_CreateThread( NULL, SCOPE_WIDTH, SCOPE_HEIGHT,
                            FOURCC_I420, SCOPE_ASPECT );
 
+    if( p_aout->p_sys->p_vout == NULL )
+    {
+        intf_ErrMsg( "aout scope error: no suitable vout module" );
+        free( p_aout->p_sys );
+        return -1;
+    }
+
     /* Open audio output  */
     p_aout->p_sys->aout.i_format   = p_aout->i_format;
     p_aout->p_sys->aout.i_rate     = p_aout->i_rate;
@@ -128,7 +151,7 @@ static int aout_Open( aout_thread_t *p_aout )
                                     (void *)&p_aout->p_sys->aout );
     if( p_aout->p_sys->aout.p_module == NULL )
     {
-        intf_ErrMsg( "aout error: no suitable aout module" );
+        intf_ErrMsg( "aout scope error: no suitable aout module" );
         vout_DestroyThread( p_aout->p_sys->p_vout, NULL );
         free( p_aout->p_sys );
         return -1;
index 861266f286573f083fd42cb4e795732b26fe752c..c64254da817b13d07b5e40969b0cd4eab98a286c 100644 (file)
@@ -2,7 +2,7 @@
  * mpeg_es.c : Elementary Stream input module for vlc
  *****************************************************************************
  * Copyright (C) 2001 VideoLAN
- * $Id: mpeg_es.c,v 1.5 2002/03/15 17:17:35 sam Exp $
+ * $Id: mpeg_es.c,v 1.6 2002/03/18 19:14:52 sam Exp $
  *
  * Authors: Christophe Massiot <massiot@via.ecp.fr>
  *
@@ -113,10 +113,10 @@ static int ESInit( input_thread_t * p_input )
 
     if( *p_peek || *(p_peek + 1) || *(p_peek + 2) != 1 )
     {
-        if( *p_input->psz_demux && strncmp( p_input->psz_demux, "es", 3 ) )
+        if( *p_input->psz_demux && strncmp( !p_input->psz_demux, "es", 3 ) )
         {
             /* User forced */
-            intf_ErrMsg( "input error: this doesn't seem like an MPEG stream, continuing" );
+            intf_ErrMsg( "input error: this doesn't look like an MPEG ES stream, continuing" );
         }
         else
         {
@@ -126,7 +126,7 @@ static int ESInit( input_thread_t * p_input )
     }
     else if( *(p_peek + 3) > 0xb9 )
     {
-        if( *p_input->psz_demux && strncmp( p_input->psz_demux, "es", 3 ) )
+        if( *p_input->psz_demux && strncmp( !p_input->psz_demux, "es", 3 ) )
         {
             /* User forced */
             intf_ErrMsg( "input error: this seems to be a system stream (PS plug-in ?), but continuing" );
index 37fa5f0152daa94586adaafd4e1e38ba7342e87c..b9567719ae654deeebf00ceb00b27611ef0bb136 100644 (file)
@@ -2,7 +2,7 @@
  * mpeg_ps.c : Program Stream input module for vlc
  *****************************************************************************
  * Copyright (C) 2000-2001 VideoLAN
- * $Id: mpeg_ps.c,v 1.7 2002/03/15 17:17:35 sam Exp $
+ * $Id: mpeg_ps.c,v 1.8 2002/03/18 19:14:52 sam Exp $
  *
  * Authors: Christophe Massiot <massiot@via.ecp.fr>
  *
@@ -107,10 +107,10 @@ static int PSInit( input_thread_t * p_input )
 
     if( *p_peek || *(p_peek + 1) || *(p_peek + 2) != 1 )
     {
-        if( *p_input->psz_demux && strncmp( p_input->psz_demux, "ps", 3 ) )
+        if( *p_input->psz_demux && !strncmp( p_input->psz_demux, "ps", 3 ) )
         {
             /* User forced */
-            intf_ErrMsg( "input error: this doesn't seem like an MPEG stream, continuing" );
+            intf_ErrMsg( "input error: this doesn't look like an MPEG PS stream, continuing" );
         }
         else
         {
@@ -120,7 +120,7 @@ static int PSInit( input_thread_t * p_input )
     }
     else if( *(p_peek + 3) <= 0xb9 )
     {
-        if( *p_input->psz_demux && strncmp( p_input->psz_demux, "ps", 3 ) )
+        if( *p_input->psz_demux && !strncmp( p_input->psz_demux, "ps", 3 ) )
         {
             /* User forced */
             intf_ErrMsg( "input error: this seems to be an elementary stream (ES plug-in ?),");
index 7d12c6402694f344b0afa23b76f93f1737f0a7b7..f189e9a8739431853bfd690d603e023d45e61b4e 100644 (file)
@@ -2,7 +2,7 @@
  * mpeg_ts.c : Transport Stream input module for vlc
  *****************************************************************************
  * Copyright (C) 2000-2001 VideoLAN
- * $Id: mpeg_ts.c,v 1.6 2002/03/15 17:17:35 sam Exp $
+ * $Id: mpeg_ts.c,v 1.7 2002/03/18 19:14:52 sam Exp $
  *
  * Authors: Henri Fallon <henri@via.ecp.fr>
  *
@@ -107,10 +107,10 @@ static int TSInit( input_thread_t * p_input )
 
     if( *p_peek != TS_SYNC_CODE )
     {
-        if( *p_input->psz_demux && strncmp( p_input->psz_demux, "ts", 3 ) )
+        if( *p_input->psz_demux && !strncmp( p_input->psz_demux, "ts", 3 ) )
         {
             /* User forced */
-            intf_ErrMsg( "input error: this doesn't seem like a TS stream, continuing" );
+            intf_ErrMsg( "input error: this doesn't look like a TS stream, continuing" );
         }
         else
         {
index c898c795bca949385c769121e04337561878d2a2..8a1e4e34741f6d19bdbb813e21a5d746d5b7f9d7 100644 (file)
@@ -2,7 +2,7 @@
  * vout_sdl.c: SDL video output display method
  *****************************************************************************
  * Copyright (C) 1998-2001 VideoLAN
- * $Id: vout_sdl.c,v 1.84 2002/03/17 17:00:38 sam Exp $
+ * $Id: vout_sdl.c,v 1.85 2002/03/18 19:14:52 sam Exp $
  *
  * Authors: Samuel Hocevar <sam@zoy.org>
  *          Pierre Baillet <oct@zoy.org>
@@ -154,6 +154,8 @@ void _M( vout_getfunctions )( function_list_t * p_function_list )
  *****************************************************************************/
 static int vout_Create( vout_thread_t *p_vout )
 {
+    char *psz_method;
+
     if( SDL_WasInit( SDL_INIT_VIDEO ) != 0 )
     {
         return( 1 );
@@ -167,6 +169,20 @@ static int vout_Create( vout_thread_t *p_vout )
         return( 1 );
     }
 
+    psz_method = config_GetPszVariable( "vout" );
+    if( psz_method )
+    {
+        while( *psz_method && *psz_method != ':' )
+        {
+            psz_method++;
+        }
+
+        if( *psz_method )
+        {
+            setenv( "SDL_VIDEODRIVER", psz_method + 1, 1 );
+        }
+    }
+
     /* Initialize library */
     if( SDL_Init( SDL_INIT_VIDEO
 #ifndef WIN32
index 6d880e7c7915372989ab670b714b12385bc1a650..fa850ba7c5e2aa6af189645016d34ff2c870ea00 100644 (file)
@@ -454,6 +454,11 @@ static int VCDInit( input_thread_t * p_input )
 {
     es_descriptor_t *       p_es;
     
+    if( p_input->stream.i_method != INPUT_METHOD_VCD )
+    {
+        return -1;
+    }
+
     vlc_mutex_lock( &p_input->stream.stream_lock );
     
     /* Set program information. */