AV module

ICapture

Abstract interface for audio and video capture devices.

ICapture

#include <icy/av/icapture.h>

Inherits: PacketStreamAdapter, Startable Subclassed by: MediaCapture

Abstract interface for audio and video capture devices.

Public Attributes

ReturnNameDescription
PacketSignalemitter

emitter

PacketSignal emitter

Public Methods

ReturnNameDescription
ICapture inline
voidstartStart capturing and emitting packets.
voidstopStop capturing and release device resources.
voidopenFile virtual inlineOpen a media file as the capture source.
voidclose virtual inlineRelease the capture source and any associated resources.
voidgetEncoderFormatPopulate iformat with the encoder-ready format derived from this capture source.
voidgetEncoderAudioCodec virtual inlinePopulate params with the encoder-ready audio codec parameters.
voidgetEncoderVideoCodec virtual inlinePopulate params with the encoder-ready video codec parameters.
voidopenAudio virtual inlineOpen an audio capture device with the given parameters.
voidopenVideo virtual inlineOpen a video capture device with the given parameters.
voidonStreamStateChange virtual inlineReact to PacketStream state transitions by starting or stopping capture.

ICapture

inline

inline ICapture()

start

void start()

Start capturing and emitting packets.


stop

void stop()

Stop capturing and release device resources.


openFile

virtual inline

virtual inline void openFile(const std::string & file)

Open a media file as the capture source.

Parameters

  • file Path to the media file.

close

virtual inline

virtual inline void close()

Release the capture source and any associated resources.


getEncoderFormat

void getEncoderFormat(Format & iformat)

Populate iformat with the encoder-ready format derived from this capture source.

Parameters

  • iformat Output Format struct to fill.

getEncoderAudioCodec

virtual inline

virtual inline void getEncoderAudioCodec(AudioCodec & params)

Populate params with the encoder-ready audio codec parameters.

Parameters


getEncoderVideoCodec

virtual inline

virtual inline void getEncoderVideoCodec(VideoCodec & params)

Populate params with the encoder-ready video codec parameters.

Parameters


openAudio

virtual inline

virtual inline void openAudio(const std::string & device, const AudioCodec & params)

Open an audio capture device with the given parameters.

Parameters

  • device The platform audio device identifier.

  • params The desired capture parameters.


openVideo

virtual inline

virtual inline void openVideo(const std::string & device, const VideoCodec & params)

Open a video capture device with the given parameters.

Parameters

  • device The platform video device identifier.

  • params The desired capture parameters.


onStreamStateChange

virtual inline

virtual inline void onStreamStateChange(const PacketStreamState & state)

React to PacketStream state transitions by starting or stopping capture.

Protected Methods

ReturnNameDescription
voidopenStream virtual inline

openStream

virtual inline

virtual inline void openStream(const std::string & filename, const AVInputFormat * inputFormat, AVDictionary ** formatParams)