Ignore:
Timestamp:
Sep 5, 2001, 3:19:02 PM (24 years ago)
Author:
bird
Message:

Added $Id:$ keyword.

File:
1 edited

Legend:

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

    r5434 r6648  
    11/* -*- tab-width: 8; c-basic-offset: 4 -*- */
    2 
     2/* $Id: msacm32_main.c,v 1.2 2001-09-05 13:11:26 bird Exp $ */
    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;
    155    
     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
    156156    case ACM_METRIC_MAX_SIZE_FORMAT:
    157         {
    158             ACMFORMATTAGDETAILSW        aftd;
     157    {
     158        ACMFORMATTAGDETAILSW    aftd;
    159159
    160             aftd.cbStruct = sizeof(aftd);
    161             aftd.dwFormatTag = WAVE_FORMAT_UNKNOWN;
     160        aftd.cbStruct = sizeof(aftd);
     161        aftd.dwFormatTag = WAVE_FORMAT_UNKNOWN;
    162162
    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.