VirtualBox

Changeset 96179 in vbox for trunk/src/VBox/Main


Ignore:
Timestamp:
Aug 12, 2022 2:43:31 PM (2 years ago)
Author:
vboxsync
Message:

Recording: Implemented support for Vorbis codec (provided by libvorbis, not enabled by default yet). This also makes all the codec handling more abstract by using a simple codec wrapper, to keep other places free from codec-specific as much as possible. Initial implementation works and output files are being recognized by media players, but there still are some timing bugs to resolve, as well as optimizing the performance [build fix]. bugref:10275

Location:
trunk/src/VBox/Main
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/include/RecordingStream.h

    r96176 r96179  
    134134protected:
    135135
    136     static int codecWriteDataCallback(PRECORDINGCODEC pCodec, const void *pvData, size_t cbData, void *pvUser);
     136    static DECLCALLBACK(int) codecWriteDataCallback(PRECORDINGCODEC pCodec, const void *pvData, size_t cbData, void *pvUser);
    137137
    138138protected:
  • trunk/src/VBox/Main/src-client/RecordingCodec.cpp

    r96177 r96179  
    1919#include "LoggingNew.h"
    2020
     21#include <VBox/com/string.h>
    2122#include <VBox/err.h>
    2223#include <VBox/vmm/pdmaudioifs.h>
     
    100101
    101102/** @copydoc RECORDINGCODECOPS::pfnParseOptions */
    102 static DECLCALLBACK(int) recordingCodecVPXParseOptions(PRECORDINGCODEC pCodec, const Utf8Str &strOptions)
     103static DECLCALLBACK(int) recordingCodecVPXParseOptions(PRECORDINGCODEC pCodec, const com::Utf8Str &strOptions)
    103104{
    104105    size_t pos = 0;
     
    548549    AssertReturn(pCodec->Parms.enmType == RECORDINGCODECTYPE_AUDIO, VERR_INVALID_PARAMETER);
    549550
    550     Utf8Str strCodec;
     551    com::Utf8Str strCodec;
    551552    settings::RecordingScreenSettings::audioCodecToString(pCodec->Parms.enmAudioCodec, strCodec);
    552553    LogRel(("Recording: Initializing audio codec '%s'\n", strCodec.c_str()));
     
    606607                                   const PRECORDINGCODECCALLBACKS pCallbacks, const settings::RecordingScreenSettings &Settings)
    607608{
    608     Utf8Str strTemp;
     609    com::Utf8Str strTemp;
    609610    settings::RecordingScreenSettings::videoCodecToString(pCodec->Parms.enmVideoCodec, strTemp);
    610611    LogRel(("Recording: Initializing video codec '%s'\n", strTemp.c_str()));
     
    654655 * @param   strOptions          Options string to parse.
    655656 */
    656 static DECLCALLBACK(int) recordingCodecAudioParseOptions(PRECORDINGCODEC pCodec, const Utf8Str &strOptions)
     657static DECLCALLBACK(int) recordingCodecAudioParseOptions(PRECORDINGCODEC pCodec, const com::Utf8Str &strOptions)
    657658{
    658659    AssertReturn(pCodec->Parms.enmType == RECORDINGCODECTYPE_AUDIO, VERR_INVALID_PARAMETER);
Note: See TracChangeset for help on using the changeset viewer.

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