Argus Camera Sample
Argus Camera Sample
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions
ArgusSamples::VideoPipeline Class Reference

Record a video from a EGL stream. More...

#include <VideoPipeline.h>

List of all members.

Public Types

enum  VideoFormat { VIDEO_FORMAT_H264, VIDEO_FORMAT_H265, VIDEO_FORMAT_VP8 }
 Supported video formats. More...
enum  VideoFileType {
  VIDEO_FILE_TYPE_MP4, VIDEO_FILE_TYPE_3GP, VIDEO_FILE_TYPE_AVI, VIDEO_FILE_TYPE_MKV,
  VIDEO_FILE_TYPE_H265
}
 Supported video file types. More...

Public Member Functions

 VideoPipeline ()
 ~VideoPipeline ()
bool destroy ()
 Destroy the video pipeline.
bool setupForRecording (EGLStreamKHR videoStream, uint32_t width, uint32_t height, float frameRate, const char *fileName, VideoFormat videoFormat=VIDEO_FORMAT_H264, VideoFileType videoFileType=VIDEO_FILE_TYPE_MP4, uint32_t bitRate=0)
 Setup the video pipeline for recording.
bool setupForPlayback (EGLStreamKHR *videoStream, const char *fileName)
 Setup the video pipeline for playback.
bool start ()
 Start recording/playback.
bool pause ()
 Pause recording/playback.
bool toggle ()
 Toggle recording/playback.
bool rewind ()
 Rewind (playback only)
bool stop ()
 Stop recording/playback.
bool getAspectRatio (float *aspectRatio) const
 Get the aspect ratio of the video.

Static Public Member Functions

static const char * getFileExtension (VideoFileType fileType)
 Get the file extension for a video file type.

Detailed Description

Record a video from a EGL stream.

Definition at line 45 of file VideoPipeline.h.


Member Enumeration Documentation

Supported video file types.

Enumerator:
VIDEO_FILE_TYPE_MP4 
VIDEO_FILE_TYPE_3GP 
VIDEO_FILE_TYPE_AVI 
VIDEO_FILE_TYPE_MKV 
VIDEO_FILE_TYPE_H265 

Definition at line 64 of file VideoPipeline.h.

Supported video formats.

Enumerator:
VIDEO_FORMAT_H264 
VIDEO_FORMAT_H265 
VIDEO_FORMAT_VP8 

Definition at line 54 of file VideoPipeline.h.


Constructor & Destructor Documentation

ArgusSamples::VideoPipeline::VideoPipeline ( )

Definition at line 40 of file VideoPipeline.cpp.

ArgusSamples::VideoPipeline::~VideoPipeline ( )

Definition at line 48 of file VideoPipeline.cpp.


Member Function Documentation

bool ArgusSamples::VideoPipeline::destroy ( )

Destroy the video pipeline.

Definition at line 561 of file VideoPipeline.cpp.

bool ArgusSamples::VideoPipeline::getAspectRatio ( float *  aspectRatio) const

Get the aspect ratio of the video.

The video has to be in paused or playing state.

Parameters:
aspectRatio[out]

Definition at line 601 of file VideoPipeline.cpp.

const char * ArgusSamples::VideoPipeline::getFileExtension ( VideoFileType  fileType)
static

Get the file extension for a video file type.

Definition at line 580 of file VideoPipeline.cpp.

bool ArgusSamples::VideoPipeline::pause ( )

Pause recording/playback.

Definition at line 454 of file VideoPipeline.cpp.

bool ArgusSamples::VideoPipeline::rewind ( )

Rewind (playback only)

Definition at line 499 of file VideoPipeline.cpp.

bool ArgusSamples::VideoPipeline::setupForPlayback ( EGLStreamKHR *  videoStream,
const char *  fileName 
)

Setup the video pipeline for playback.

Parameters:
[out]videoStreamEGL stream
[in]fileNameFile name

Definition at line 336 of file VideoPipeline.cpp.

bool ArgusSamples::VideoPipeline::setupForRecording ( EGLStreamKHR  videoStream,
uint32_t  width,
uint32_t  height,
float  frameRate,
const char *  fileName,
VideoFormat  videoFormat = VIDEO_FORMAT_H264,
VideoFileType  videoFileType = VIDEO_FILE_TYPE_MP4,
uint32_t  bitRate = 0 
)

Setup the video pipeline for recording.

Parameters:
[in]videoStreamEGL stream to record from
[in]widthWidth of the recorded video
[in]heightHeight of the recorded video
[in]frameRateFrame rate
[in]fileNameFile name
[in]videoFormatVideo format
[in]videoFileTypeVideo file type
[in]bitRateBitrate, if 0 the bitrate will be selected depending on the resolution

Definition at line 111 of file VideoPipeline.cpp.

bool ArgusSamples::VideoPipeline::start ( )

Start recording/playback.

Definition at line 423 of file VideoPipeline.cpp.

bool ArgusSamples::VideoPipeline::stop ( )

Stop recording/playback.

Definition at line 517 of file VideoPipeline.cpp.

bool ArgusSamples::VideoPipeline::toggle ( )

Toggle recording/playback.

Definition at line 474 of file VideoPipeline.cpp.


The documentation for this class was generated from the following files: