He estado probando el api monitor, aún me queda cogerle el tranquillo, pero así a primeras, lo que he visto lo que he visto y cogiendo el vlc:
# Time of Day Thread Module API Return Value Error Duration
606 9:13:50.971 PM 9 libwaveout_plugin.dll waveOutGetNumDevs ( ) 22 0.0000953
620 9:13:50.971 PM 9 libwaveout_plugin.dll waveOutGetDevCapsW ( 0, 0x058dfbc8, 84 ) MMSYSERR_NOERROR 0.0013787
724 9:13:50.972 PM 9 libwaveout_plugin.dll waveOutGetDevCapsW ( 1, 0x058dfbc8, 84 ) MMSYSERR_NOERROR 0.0013795
725 9:13:50.974 PM 9 libwaveout_plugin.dll waveOutGetDevCapsW ( 2, 0x058dfbc8, 84 ) MMSYSERR_NOERROR 0.0010712
726 9:13:50.975 PM 9 libwaveout_plugin.dll waveOutGetDevCapsW ( 3, 0x058dfbc8, 84 ) MMSYSERR_NOERROR 0.0011704
727 9:13:50.976 PM 9 libwaveout_plugin.dll waveOutGetDevCapsW ( 4, 0x058dfbc8, 84 ) MMSYSERR_NOERROR 0.0013646
728 9:13:50.977 PM 9 libwaveout_plugin.dll waveOutGetDevCapsW ( 5, 0x058dfbc8, 84 ) MMSYSERR_NOERROR 0.0012273
729 9:13:50.978 PM 9 libwaveout_plugin.dll waveOutGetDevCapsW ( 6, 0x058dfbc8, 84 ) MMSYSERR_NOERROR 0.0012523
730 9:13:50.980 PM 9 libwaveout_plugin.dll waveOutGetDevCapsW ( 7, 0x058dfbc8, 84 ) MMSYSERR_NOERROR 0.0011828
731 9:13:50.981 PM 9 libwaveout_plugin.dll waveOutGetDevCapsW ( 8, 0x058dfbc8, 84 ) MMSYSERR_NOERROR 0.0011349
732 9:13:50.982 PM 9 libwaveout_plugin.dll waveOutGetDevCapsW ( 9, 0x058dfbc8, 84 ) MMSYSERR_NOERROR 0.0011669
733 9:13:50.983 PM 9 libwaveout_plugin.dll waveOutGetDevCapsW ( 10, 0x058dfbc8, 84 ) MMSYSERR_NOERROR 0.0011545
734 9:13:50.984 PM 9 libwaveout_plugin.dll waveOutGetDevCapsW ( 11, 0x058dfbc8, 84 ) MMSYSERR_NOERROR 0.0011807
735 9:13:50.986 PM 9 libwaveout_plugin.dll waveOutGetDevCapsW ( 12, 0x058dfbc8, 84 ) MMSYSERR_NOERROR 0.0011753
736 9:13:50.987 PM 9 libwaveout_plugin.dll waveOutGetDevCapsW ( 13, 0x058dfbc8, 84 ) MMSYSERR_NOERROR 0.0012040
737 9:13:50.988 PM 9 libwaveout_plugin.dll waveOutGetDevCapsW ( 14, 0x058dfbc8, 84 ) MMSYSERR_NOERROR 0.0011944
738 9:13:50.989 PM 9 libwaveout_plugin.dll waveOutGetDevCapsW ( 15, 0x058dfbc8, 84 ) MMSYSERR_NOERROR 0.0011276
739 9:13:50.990 PM 9 libwaveout_plugin.dll waveOutGetDevCapsW ( 16, 0x058dfbc8, 84 ) MMSYSERR_NOERROR 0.0009829
740 9:13:50.991 PM 9 libwaveout_plugin.dll waveOutGetDevCapsW ( 17, 0x058dfbc8, 84 ) MMSYSERR_NOERROR 0.0012199
741 9:13:50.993 PM 9 libwaveout_plugin.dll waveOutGetDevCapsW ( 18, 0x058dfbc8, 84 ) MMSYSERR_NOERROR 0.0011258
742 9:13:50.994 PM 9 libwaveout_plugin.dll waveOutGetDevCapsW ( 19, 0x058dfbc8, 84 ) MMSYSERR_NOERROR 0.0007148
743 9:13:50.994 PM 9 libwaveout_plugin.dll waveOutGetDevCapsW ( 20, 0x058dfbc8, 84 ) MMSYSERR_NOERROR 0.0008743
744 9:13:50.995 PM 9 libwaveout_plugin.dll waveOutGetDevCapsW ( 21, 0x058dfbc8, 84 ) MMSYSERR_NOERROR 0.0008448
745 9:13:50.996 PM 9 libwaveout_plugin.dll waveOutGetDevCapsW ( 4294967295, 0x058dfb74, 84 ) MMSYSERR_NOERROR 0.0002345
746 9:13:50.996 PM 9 msacm32.drv waveOutMessage ( NULL, 2053, 0, 0 ) MMSYSERR_NOERROR 0.0000445
747 9:13:50.996 PM 9 msacm32.drv waveOutMessage ( 0x00000001, 2053, 0, 0 ) MMSYSERR_NOERROR 0.0000292
748 9:13:50.997 PM 9 libwaveout_plugin.dll waveOutOpen ( 0x0049b160, 4294967295, 0x0049b164, 1719541008, 5113716, CALLBACK_FUNCTION ) MMSYSERR_NOERROR 0.0152885
Pregunta por todos los dispositivos waveout (22 en mi caso) y el último es el "Asignador de sonido Microsoft"
# Type Name Pre-Call Value Post-Call Value
1 UINT_PTR uDeviceID 4294967295 4294967295
2 LPWAVEOUTCAPS pwoc 0x058dfb74 0x058dfb74
WAVEOUTCAPS { wMid = 1908, wPid = 78, vDriverVersion = 1721395506 ...} { wMid = 1, wPid = 2, vDriverVersion = 1280 ...}
WORD wMid 1908 1
WORD wPid 78 2
MMVERSION vDriverVersion 1721395506 1280
TCHAR [MAXPNAMELEN] szPname "P" "Asignador de sonido Microsoft"
DWORD dwFormats WAVE_INVALIDFORMAT WAVE_FORMAT_1M08 | WAVE_FORMAT_1M16 | WAVE_FORMAT_1S08 | WAVE_FORMAT_1S16 | WAVE_FORMAT_2M08 | WAVE_FORMAT_2M16 | WAVE_FORMAT_2S08 | WAVE_FORMAT_2S16 | WAVE_FORMAT_44M08 | WAVE_FORMAT_44M16 | WAVE_FORMAT_44S08 | WAVE_FORMAT_44S16 | WAVE_FORMAT_48M08 | WAVE_FO
WORD wChannels 64552 2
WORD wReserved1 1421 105
DWORD dwSupport WAVECAPS_LRVOLUME | WAVECAPS_PITCH | WAVECAPS_SAMPLEACCURATE | WAVECAPS_VOLUME | 1634168896 WAVECAPS_LRVOLUME | WAVECAPS_PLAYBACKRATE | WAVECAPS_VOLUME
3 UINT cbwoc 84 84
y con este se va a reproducir.
Ahora bien si activo plastamix y api-monitor, el vlc peta justo porque esta llamada:
45 9:13:50.996 PM 9 libwaveout_plugin.dll waveOutGetDevCapsW ( 4294967295, 0x058dfb74, 84 )
devuelve todos los datos a null.
No se si te sirve mucho esto y no se como "tracear" más las llamas al api porque curiosamente con el plastamix y el apimonitor ningún programa me reproduce nada y todos petan al empezar... que raro.
En otro orden de cosas y por lo que has comentado en tu último post, estaba yo pensando...mmmmmm....
¿No te saldría más a cuenta, que plastamix ofrezca al sistema una tarjeta de audio virtual, ponemos esa como tarjeta por defecto a windows y tu dispositivo haga de proxy redirigiendo E/S de audio según tal como se configura actualmente el plastamix que me encanta ?
dime que más te puedo mirar.
Responder
Citar