Ignore:
Timestamp:
Sep 15, 2001, 11:47:44 AM (24 years ago)
Author:
sandervl
Message:

restored old version

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/msacm32/msacm32_main.c

    r6648 r6712  
    11/* -*- tab-width: 8; c-basic-offset: 4 -*- */
    2 /* $Id: msacm32_main.c,v 1.2 2001-09-05 13:11:26 bird Exp $ */
     2
    33/*
    44 *      MSACM32 library
    55 *
    66 *      Copyright 1998  Patrik Stridvall
    7  *        1999  Eric Pouech
     7 *                1999  Eric Pouech
    88 */
    99
     
    1717
    1818DEFAULT_DEBUG_CHANNEL(msacm);
    19 
     19       
    2020/**********************************************************************/
    21 
    22 HINSTANCE   MSACM_hInstance32 = 0;
     21       
     22HINSTANCE       MSACM_hInstance32 = 0;
    2323
    2424/***********************************************************************
    25  *           MSACM_LibMain (MSACM32.init)
     25 *           MSACM_LibMain (MSACM32.init) 
    2626 */
    2727BOOL WINAPI MSACM32_LibMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpvReserved)
     
    3434        MSACM_hInstance32 = hInstDLL;
    3535        MSACM_RegisterAllDrivers();
    36     break;
     36        break;
    3737    case DLL_PROCESS_DETACH:
    3838        MSACM_UnregisterAllDrivers();
     
    4040        MSACM_hHeap = (HANDLE) NULL;
    4141        MSACM_hInstance32 = (HINSTANCE)NULL;
    42     break;
     42        break;
    4343    case DLL_THREAD_ATTACH:
    44     break;
     44        break;
    4545    case DLL_THREAD_DETACH:
    46     break;
     46        break;
    4747    default:
    48     break;
     48        break;
    4949    }
    5050    return TRUE;
     
    6767    {
    6868    case VER_PLATFORM_WIN32_NT:
    69     return 0x04000565; /* 4.0.1381 */
     69        return 0x04000565; /* 4.0.1381 */
    7070    default:
    7171        FIXME("%ld not supported",version.dwPlatformId);
    7272    case VER_PLATFORM_WIN32_WINDOWS:
    73     return 0x04000000; /* 4.0.0 */
     73        return 0x04000000; /* 4.0.0 */
    7474  }
    7575}
     
    8686MMRESULT WINAPI acmMetrics(HACMOBJ hao, UINT uMetric, LPVOID pMetric)
    8787{
    88     PWINE_ACMOBJ    pao = MSACM_GetObj(hao, WINE_ACMOBJ_DONTCARE);
    89     BOOL        bLocal = TRUE;
    90     PWINE_ACMDRIVERID   padid;
    91     DWORD       val = 0;
    92     MMRESULT        mmr = MMSYSERR_NOERROR;
     88    PWINE_ACMOBJ        pao = MSACM_GetObj(hao, WINE_ACMOBJ_DONTCARE);
     89    BOOL                bLocal = TRUE;
     90    PWINE_ACMDRIVERID   padid;
     91    DWORD               val = 0;
     92    MMRESULT            mmr = MMSYSERR_NOERROR;
    9393
    9494    TRACE("(0x%08x, %d, %p);\n", hao, uMetric, pMetric);
    95 
     95   
    9696    switch (uMetric) {
    9797    case ACM_METRIC_COUNT_DRIVERS:
    98     bLocal = FALSE;
    99     /* fall thru */
     98        bLocal = FALSE;
     99        /* fall thru */
    100100    case ACM_METRIC_COUNT_LOCAL_DRIVERS:
    101     if (!pao)
    102         return MMSYSERR_INVALHANDLE;
    103     for (padid = MSACM_pFirstACMDriverID; padid; padid = padid->pNextACMDriverID)
    104         if (padid->bEnabled /* && (local(padid) || !bLocal) */)
    105         val++;
    106     *(LPDWORD)pMetric = val;
    107     break;
     101        if (!pao)
     102            return MMSYSERR_INVALHANDLE;
     103        for (padid = MSACM_pFirstACMDriverID; padid; padid = padid->pNextACMDriverID)
     104            if (padid->bEnabled /* && (local(padid) || !bLocal) */)
     105                val++;
     106        *(LPDWORD)pMetric = val;
     107        break;
    108108
    109109    case ACM_METRIC_COUNT_CODECS:
    110     if (!pao)
    111         return MMSYSERR_INVALHANDLE;
    112     bLocal = FALSE;
    113     /* fall thru */
     110        if (!pao)
     111            return MMSYSERR_INVALHANDLE;
     112        bLocal = FALSE;
     113        /* fall thru */
    114114    case ACM_METRIC_COUNT_LOCAL_CODECS:
    115     /* FIXME: don't know how to differentiate codec, converters & filters yet */
    116     for (padid = MSACM_pFirstACMDriverID; padid; padid = padid->pNextACMDriverID)
    117         if (padid->bEnabled /* && (local(padid) || !bLocal) */)
    118         val++;
    119     *(LPDWORD)pMetric = val;
    120     break;
     115        /* FIXME: don't know how to differentiate codec, converters & filters yet */
     116        for (padid = MSACM_pFirstACMDriverID; padid; padid = padid->pNextACMDriverID)
     117            if (padid->bEnabled /* && (local(padid) || !bLocal) */)
     118                val++;
     119        *(LPDWORD)pMetric = val;
     120        break;
    121121
    122122    case ACM_METRIC_COUNT_CONVERTERS:
    123     bLocal = FALSE;
    124     /* fall thru */
     123        bLocal = FALSE;
     124        /* fall thru */
    125125    case ACM_METRIC_COUNT_LOCAL_CONVERTERS:
    126     /* FIXME: don't know how to differentiate codec, converters & filters yet */
    127     for (padid = MSACM_pFirstACMDriverID; padid; padid = padid->pNextACMDriverID)
    128         if (padid->bEnabled /* && (local(padid) || !bLocal) */)
    129         val++;
    130     *(LPDWORD)pMetric = val;
    131     break;
     126        /* FIXME: don't know how to differentiate codec, converters & filters yet */
     127        for (padid = MSACM_pFirstACMDriverID; padid; padid = padid->pNextACMDriverID)
     128            if (padid->bEnabled /* && (local(padid) || !bLocal) */)
     129                val++;
     130        *(LPDWORD)pMetric = val;
     131        break;
    132132
    133133    case ACM_METRIC_COUNT_FILTERS:
    134     bLocal = FALSE;
    135     /* fall thru */
     134        bLocal = FALSE;
     135        /* fall thru */
    136136    case ACM_METRIC_COUNT_LOCAL_FILTERS:
    137     /* FIXME: don't know how to differentiate codec, converters & filters yet */
    138     for (padid = MSACM_pFirstACMDriverID; padid; padid = padid->pNextACMDriverID)
    139         if (padid->bEnabled /* && (local(padid) || !bLocal) */)
    140         val++;
    141     *(LPDWORD)pMetric = val;
    142     break;
     137        /* FIXME: don't know how to differentiate codec, converters & filters yet */
     138        for (padid = MSACM_pFirstACMDriverID; padid; padid = padid->pNextACMDriverID)
     139            if (padid->bEnabled /* && (local(padid) || !bLocal) */)
     140                val++;
     141        *(LPDWORD)pMetric = val;
     142        break;
    143143
    144144    case ACM_METRIC_COUNT_DISABLED:
    145     bLocal = FALSE;
    146     /* fall thru */
     145        bLocal = FALSE;
     146        /* fall thru */
    147147    case ACM_METRIC_COUNT_LOCAL_DISABLED:
    148     if (!pao)
    149         return MMSYSERR_INVALHANDLE;
    150     for (padid = MSACM_pFirstACMDriverID; padid; padid = padid->pNextACMDriverID)
    151         if (!padid->bEnabled /* && (local(padid) || !bLocal) */)
    152         val++;
    153     *(LPDWORD)pMetric = val;
    154     break;
     148        if (!pao)
     149            return MMSYSERR_INVALHANDLE; 
     150        for (padid = MSACM_pFirstACMDriverID; padid; padid = padid->pNextACMDriverID)
     151            if (!padid->bEnabled /* && (local(padid) || !bLocal) */)
     152                val++;
     153        *(LPDWORD)pMetric = val;
     154        break;
     155   
     156    case ACM_METRIC_MAX_SIZE_FORMAT:
     157        {
     158            ACMFORMATTAGDETAILSW        aftd;
    155159
    156     case ACM_METRIC_MAX_SIZE_FORMAT:
    157     {
    158         ACMFORMATTAGDETAILSW    aftd;
     160            aftd.cbStruct = sizeof(aftd);
     161            aftd.dwFormatTag = WAVE_FORMAT_UNKNOWN;
    159162
    160         aftd.cbStruct = sizeof(aftd);
    161         aftd.dwFormatTag = WAVE_FORMAT_UNKNOWN;
    162 
    163         if (hao == (HACMOBJ)NULL) {
    164         mmr = acmFormatTagDetailsW((HACMDRIVER)NULL, &aftd, ACM_FORMATTAGDETAILSF_LARGESTSIZE);
    165         } else if (MSACM_GetObj(hao, WINE_ACMOBJ_DRIVER)) {
    166         mmr = acmFormatTagDetailsW((HACMDRIVER)hao, &aftd, ACM_FORMATTAGDETAILSF_LARGESTSIZE);
    167         } else if (MSACM_GetObj(hao, WINE_ACMOBJ_DRIVERID)) {
    168         HACMDRIVER  had;
    169 
    170         if (acmDriverOpen(&had, (HACMDRIVERID)hao, 0) == 0) {
    171             mmr = acmFormatTagDetailsW((HACMDRIVER)hao, &aftd, ACM_FORMATTAGDETAILSF_LARGESTSIZE);
    172             acmDriverClose(had, 0);
    173         }
    174         } else {
    175         mmr = MMSYSERR_INVALHANDLE;
    176         }
    177         if (mmr == MMSYSERR_NOERROR) *(LPDWORD)pMetric = aftd.cbFormatSize;
    178     }
     163            if (hao == (HACMOBJ)NULL) {
     164                mmr = acmFormatTagDetailsW((HACMDRIVER)NULL, &aftd, ACM_FORMATTAGDETAILSF_LARGESTSIZE);
     165            } else if (MSACM_GetObj(hao, WINE_ACMOBJ_DRIVER)) {
     166                mmr = acmFormatTagDetailsW((HACMDRIVER)hao, &aftd, ACM_FORMATTAGDETAILSF_LARGESTSIZE);
     167            } else if (MSACM_GetObj(hao, WINE_ACMOBJ_DRIVERID)) {
     168                HACMDRIVER      had;
     169               
     170                if (acmDriverOpen(&had, (HACMDRIVERID)hao, 0) == 0) {
     171                    mmr = acmFormatTagDetailsW((HACMDRIVER)hao, &aftd, ACM_FORMATTAGDETAILSF_LARGESTSIZE);
     172                    acmDriverClose(had, 0);
     173                }
     174            } else {
     175                mmr = MMSYSERR_INVALHANDLE;
     176            }
     177            if (mmr == MMSYSERR_NOERROR) *(LPDWORD)pMetric = aftd.cbFormatSize;
     178        }
    179179        break;
    180180
     
    186186    case ACM_METRIC_DRIVER_PRIORITY:
    187187    default:
    188     FIXME("(0x%08x, %d, %p): stub\n", hao, uMetric, pMetric);
    189     mmr = MMSYSERR_NOTSUPPORTED;
     188        FIXME("(0x%08x, %d, %p): stub\n", hao, uMetric, pMetric);
     189        mmr = MMSYSERR_NOTSUPPORTED;
    190190    }
    191191    return mmr;
Note: See TracChangeset for help on using the changeset viewer.