VirtualBox

Changeset 96176 in vbox


Ignore:
Timestamp:
Aug 12, 2022 2:20:09 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:
3 edited

Legend:

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

    r96175 r96176  
    444444typedef std::list<RecordingBlock *> RecordingBlockList;
    445445
    446 #ifdef VBOX_WITH_AUDIO_RECORDING
    447446int recordingCodecCreateAudio(PRECORDINGCODEC pCodec, RecordingAudioCodec_T enmAudioCodec);
    448 #endif
    449447int recordingCodecCreateVideo(PRECORDINGCODEC pCodec, RecordingVideoCodec_T enmVideoCodec);
    450448int recordingCodecInit(const PRECORDINGCODEC pCodec, const PRECORDINGCODECCALLBACKS pCallbacks, const settings::RecordingScreenSettings &Settings);
  • trunk/src/VBox/Main/include/RecordingStream.h

    r96175 r96176  
    126126    uint16_t GetID(void) const { return this->uScreenID; };
    127127#ifdef VBOX_WITH_AUDIO_RECORDING
    128     const PRECORDINGCODEC GetAudioCodec(void) { return &this->CodecAudio; };
     128    PRECORDINGCODEC GetAudioCodec(void) { return &this->CodecAudio; };
    129129#endif
    130     const PRECORDINGCODEC GetVideoCodec(void) { return &this->CodecVideo; };
     130    PRECORDINGCODEC GetVideoCodec(void) { return &this->CodecVideo; };
    131131    bool IsLimitReached(uint64_t msTimestamp) const;
    132132    bool IsReady(void) const;
     
    195195    uint64_t            tsStartMs;
    196196
    197 #ifdef VBOX_WITH_AUDIO_RECORDING
    198197    /** Audio codec instance data to use. */
    199198    RECORDINGCODEC                    CodecAudio;
    200 #endif
    201199    /** Video codec instance data to use. */
    202200    RECORDINGCODEC                    CodecVideo;
  • trunk/src/VBox/Main/src-client/RecordingCodec.cpp

    r96175 r96176  
    535535*********************************************************************************************************************************/
    536536
    537 #ifdef VBOX_WITH_AUDIO_RECORDING
    538537/**
    539538 * Initializes an audio codec.
     
    595594    return vrc;
    596595}
    597 #endif /* VBOX_WITH_AUDIO_RECORDING */
    598596
    599597/**
     
    649647
    650648#ifdef VBOX_WITH_AUDIO_RECORDING
    651 /**s
     649/**
    652650 * Lets an audio codec parse advanced options given from a string.
    653651 *
     
    686684    return VINF_SUCCESS;
    687685}
     686#endif
    688687
    689688/**
     
    740739    return vrc;
    741740}
    742 #endif /* VBOX_WITH_AUDIO_RECORDING */
    743741
    744742/**
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