VirtualBox

Changeset 88720 in vbox for trunk/include/VBox/vmm


Ignore:
Timestamp:
Apr 26, 2021 10:46:21 PM (4 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
144038
Message:

Audio: Merged pfnStreamWrite and pfnStreamPlay in PDMIAUDIOCONNECTOR. Moved pfnStreamRead down to pfnStreamCapture. bugref:9890

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/vmm/pdmaudioifs.h

    r88718 r88720  
    903903/** No flags being set. */
    904904#define PDMAUDIOSTREAMSTS_FLAGS_NONE            UINT32_C(0)
    905 /** Whether this stream has been initialized by the
    906  *  backend or not. */
     905/** Whether this stream has been initialized by the backend or not. */
    907906#define PDMAUDIOSTREAMSTS_FLAGS_INITIALIZED     RT_BIT_32(0)
    908907/** Whether this stream is enabled or disabled. */
     
    11081107
    11091108    /**
     1109     * Controls a specific audio stream.
     1110     *
     1111     * @returns VBox status code.
     1112     * @param   pInterface      Pointer to the interface structure containing the called function pointer.
     1113     * @param   pStream         Pointer to audio stream.
     1114     * @param   enmStreamCmd    The stream command to issue.
     1115     */
     1116    DECLR3CALLBACKMEMBER(int, pfnStreamControl, (PPDMIAUDIOCONNECTOR pInterface, PPDMAUDIOSTREAM pStream,
     1117                                                 PDMAUDIOSTREAMCMD enmStreamCmd));
     1118
     1119    /**
     1120     * Processes stream data.
     1121     *
     1122     * @param   pInterface      Pointer to the interface structure containing the called function pointer.
     1123     * @param   pStream         Pointer to audio stream.
     1124     */
     1125    DECLR3CALLBACKMEMBER(int, pfnStreamIterate, (PPDMIAUDIOCONNECTOR pInterface, PPDMAUDIOSTREAM pStream));
     1126
     1127    /**
     1128     * Returns the number of readable data (in bytes) of a specific audio input stream.
     1129     *
     1130     * @returns Number of bytes of readable data.
     1131     * @param   pInterface      Pointer to the interface structure containing the called function pointer.
     1132     * @param   pStream         Pointer to audio stream.
     1133     */
     1134    DECLR3CALLBACKMEMBER(uint32_t, pfnStreamGetReadable, (PPDMIAUDIOCONNECTOR pInterface, PPDMAUDIOSTREAM pStream));
     1135
     1136    /**
     1137     * Returns the number of writable data (in bytes) of a specific audio output stream.
     1138     *
     1139     * @returns Number of bytes writable data.
     1140     * @param   pInterface      Pointer to the interface structure containing the called function pointer.
     1141     * @param   pStream         Pointer to audio stream.
     1142     */
     1143    DECLR3CALLBACKMEMBER(uint32_t, pfnStreamGetWritable, (PPDMIAUDIOCONNECTOR pInterface, PPDMAUDIOSTREAM pStream));
     1144
     1145    /**
     1146     * Returns the status of a specific audio stream.
     1147     *
     1148     * @returns Audio stream status
     1149     * @param   pInterface      Pointer to the interface structure containing the called function pointer.
     1150     * @param   pStream         Pointer to audio stream.
     1151     */
     1152    DECLR3CALLBACKMEMBER(PDMAUDIOSTREAMSTS, pfnStreamGetStatus, (PPDMIAUDIOCONNECTOR pInterface, PPDMAUDIOSTREAM pStream));
     1153
     1154    /**
     1155     * Sets the audio volume of a specific audio stream.
     1156     *
     1157     * @returns VBox status code.
     1158     * @param   pInterface      Pointer to the interface structure containing the called function pointer.
     1159     * @param   pStream         Pointer to audio stream.
     1160     * @param   pVol            Pointer to audio volume structure to set the stream's audio volume to.
     1161     */
     1162    DECLR3CALLBACKMEMBER(int, pfnStreamSetVolume, (PPDMIAUDIOCONNECTOR pInterface, PPDMAUDIOSTREAM pStream, PPDMAUDIOVOLUME pVol));
     1163
     1164    /**
     1165     * Plays (writes to) an audio (output) stream.
     1166     *
     1167     * @returns VBox status code.
     1168     * @param   pInterface      Pointer to the interface structure containing the called function pointer.
     1169     * @param   pStream         Pointer to audio stream to read from.
     1170     * @param   pvBuf           Audio data to be written.
     1171     * @param   cbBuf           Number of bytes to be written.
     1172     * @param   pcbWritten      Bytes of audio data written. Optional.
     1173     */
     1174    DECLR3CALLBACKMEMBER(int, pfnStreamPlay, (PPDMIAUDIOCONNECTOR pInterface, PPDMAUDIOSTREAM pStream,
     1175                                              const void *pvBuf, uint32_t cbBuf, uint32_t *pcbWritten));
     1176
     1177    /**
    11101178     * Reads PCM audio data from the host (input).
    11111179     *
     
    11211189
    11221190    /**
    1123      * Writes PCM audio data to the host (output).
    1124      *
    1125      * @returns VBox status code.
    1126      * @param   pInterface      Pointer to the interface structure containing the called function pointer.
    1127      * @param   pStream         Pointer to audio stream to read from.
    1128      * @param   pvBuf           Audio data to be written.
    1129      * @param   cbBuf           Number of bytes to be written.
    1130      * @param   pcbWritten      Bytes of audio data written. Optional.
    1131      */
    1132     DECLR3CALLBACKMEMBER(int, pfnStreamWrite, (PPDMIAUDIOCONNECTOR pInterface, PPDMAUDIOSTREAM pStream,
    1133                                                const void *pvBuf, uint32_t cbBuf, uint32_t *pcbWritten));
    1134 
    1135     /**
    1136      * Controls a specific audio stream.
    1137      *
    1138      * @returns VBox status code.
    1139      * @param   pInterface      Pointer to the interface structure containing the called function pointer.
    1140      * @param   pStream         Pointer to audio stream.
    1141      * @param   enmStreamCmd    The stream command to issue.
    1142      */
    1143     DECLR3CALLBACKMEMBER(int, pfnStreamControl, (PPDMIAUDIOCONNECTOR pInterface, PPDMAUDIOSTREAM pStream,
    1144                                                  PDMAUDIOSTREAMCMD enmStreamCmd));
    1145 
    1146     /**
    1147      * Processes stream data.
    1148      *
    1149      * @param   pInterface      Pointer to the interface structure containing the called function pointer.
    1150      * @param   pStream         Pointer to audio stream.
    1151      */
    1152     DECLR3CALLBACKMEMBER(int, pfnStreamIterate, (PPDMIAUDIOCONNECTOR pInterface, PPDMAUDIOSTREAM pStream));
    1153 
    1154     /**
    1155      * Returns the number of readable data (in bytes) of a specific audio input stream.
    1156      *
    1157      * @returns Number of bytes of readable data.
    1158      * @param   pInterface      Pointer to the interface structure containing the called function pointer.
    1159      * @param   pStream         Pointer to audio stream.
    1160      */
    1161     DECLR3CALLBACKMEMBER(uint32_t, pfnStreamGetReadable, (PPDMIAUDIOCONNECTOR pInterface, PPDMAUDIOSTREAM pStream));
    1162 
    1163     /**
    1164      * Returns the number of writable data (in bytes) of a specific audio output stream.
    1165      *
    1166      * @returns Number of bytes writable data.
    1167      * @param   pInterface      Pointer to the interface structure containing the called function pointer.
    1168      * @param   pStream         Pointer to audio stream.
    1169      */
    1170     DECLR3CALLBACKMEMBER(uint32_t, pfnStreamGetWritable, (PPDMIAUDIOCONNECTOR pInterface, PPDMAUDIOSTREAM pStream));
    1171 
    1172     /**
    1173      * Returns the status of a specific audio stream.
    1174      *
    1175      * @returns Audio stream status
    1176      * @param   pInterface      Pointer to the interface structure containing the called function pointer.
    1177      * @param   pStream         Pointer to audio stream.
    1178      */
    1179     DECLR3CALLBACKMEMBER(PDMAUDIOSTREAMSTS, pfnStreamGetStatus, (PPDMIAUDIOCONNECTOR pInterface, PPDMAUDIOSTREAM pStream));
    1180 
    1181     /**
    1182      * Sets the audio volume of a specific audio stream.
    1183      *
    1184      * @returns VBox status code.
    1185      * @param   pInterface      Pointer to the interface structure containing the called function pointer.
    1186      * @param   pStream         Pointer to audio stream.
    1187      * @param   pVol            Pointer to audio volume structure to set the stream's audio volume to.
    1188      */
    1189     DECLR3CALLBACKMEMBER(int, pfnStreamSetVolume, (PPDMIAUDIOCONNECTOR pInterface, PPDMAUDIOSTREAM pStream, PPDMAUDIOVOLUME pVol));
    1190 
    1191     /**
    1192      * Plays (transfers) available audio frames to the host backend.
    1193      *
    1194      * Only works with output streams.
    1195      *
    1196      * @returns VBox status code.
    1197      * @param   pInterface           Pointer to the interface structure containing the called function pointer.
    1198      * @param   pStream              Pointer to audio stream.
    1199      * @param   pcFramesPlayed       Number of frames played. Optional.
    1200      */
    1201     DECLR3CALLBACKMEMBER(int, pfnStreamPlay, (PPDMIAUDIOCONNECTOR pInterface, PPDMAUDIOSTREAM pStream, uint32_t *pcFramesPlayed));
    1202 
    1203     /**
    12041191     * Captures (transfers) available audio frames from the host backend.
    12051192     *
     
    12171204
    12181205/** PDMIAUDIOCONNECTOR interface ID. */
    1219 #define PDMIAUDIOCONNECTOR_IID                  "9e7d9efb-45ac-4364-9e9d-67b6990df94c"
     1206#define PDMIAUDIOCONNECTOR_IID                  "00ee6f8e-16ab-4e9a-977c-d506c163be77"
    12201207
    12211208
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette