IMVMultiFileWriter

The IMVMultiFileWriter Interface contains methods an properties to control the MV Multi File Writer filter.

Methods:

AudioEncoderDisplayName Displayname from the audio encoder.
CurrentFileDuration Duration since the filter records into the current output file.
CurrentFileSize Size of the current output file in bytes.
CurrentOutputFile Path of the curent output file.
CurrentVideoFrameCount Count of recorded video frames from the current files.
FileNameOption How to create the output file name.
FilePrefix The prefix for the output files.
GetAudioEncoderInterfaces Get the IUnknown interface from the two audio encoders.
GetAVIMultiplexerInterfaces Get the IUnknown interface from the two avi multiplexer.
GetFreeDiskSpace Get the total and available disk space in MB.
GetVideoEncoderInterfaces Get the IUnknown interface from the two video encoders.
NewFileOnStop New file on stop signal.
NextFileOption Create a new output file options.
NextFilePeriod The time period of an output file.
NextFileSize The maximum size of an output file.
NextFileTimeOption Create a new output file on time option.
NextOutputFile Switch to the next output file.
OutputFolder The folder for the output video files.
Recording Recording status from the filter.
RenderCaptureGraphs Render the hidden recording filter graphs.
StartRecording Start recording into AVI files.
StopRecording Stop Recording.
VideoEncoderDisplayName Displayname from the video encoder.

Header file: IMVMultiFileWriter.h
Interface definition language file: IMVMultiFileWriter.idl
Typelib: MVMultiFileWriter
Interface ID: IID_IMVMultiFileWriter


Property IMVMultiFileWriter::AudioEncoderDisplayName

Declaration: Property Get/Put AudioEncoderDisplayName As String

Displayname from the audio encoder.

C Prototype:

HRESULT put_AudioEncoderDisplayName(BSTR newVal);
HRESULT get_AudioEncoderDisplayName(BSTR *pVal);


Property IMVMultiFileWriter::CurrentFileDuration

Declaration: Property Get CurrentFileDuration As Double

Duration since the filter records into the current output file.

C Prototype:

HRESULT get_CurrentFileDuration(DOUBLE *pVal);


Property IMVMultiFileWriter::CurrentFileSize

Declaration: Property Get CurrentFileSize As Double

Size of the current output file in bytes.

C Prototype:

HRESULT get_CurrentFileSize(DOUBLE *pVal);


Property IMVMultiFileWriter::CurrentOutputFile

Declaration: Property Get CurrentOutputFile As String

Path of the curent output file.

C Prototype:

HRESULT get_CurrentOutputFile(BSTR *pVal);


Property IMVMultiFileWriter::CurrentVideoFrameCount

Declaration: Property Get CurrentVideoFrameCount As Long

Count of recorded video frames from the current files.

C Prototype:

HRESULT get_CurrentVideoFrameCount(LONG *pVal);


Property IMVMultiFileWriter::FileNameOption

Declaration: Property Get/Put FileNameOption As Long

Output file name option.

Option Value Description
MV_OUTPUT_FILENAME_PREFIX_INDEX

0

Create the output file name with the FilePrefix and an index
MV_OUTPUT_FILENAME_DATE_INDEX

1

Create the output file name with the current date and an index.
MV_OUTPUT_FILENAME_DATE_TIME

2

Create the output file name with the current date, time and an index.
C Prototype:

HRESULT put_FileNameOption(LONG newVal);
HRESULT get_FileNameOption(LONG *pVal);


Property IMVMultiFileWriter::FilePrefix

Declaration: Property Get/Put FilePrefix As String

The prefix for the output files.

C Prototype:

HRESULT put_FilePrefix(BSTR newVal);
HRESULT get_FilePrefix(BSTR *pVal);


Method IMVMultiFileWriter::GetAudioEncoderInterfaces

Declaration: Sub GetAudioEncoderInterfaces(UnkFirst As Unknown, UnkSecond As Unknown)

Get the IUnknown interface from the two audio encoders. The filter uses two equal hidden filter graphs to write the media streams. Setup both encoder whith the same parameters to get consistently output files.

Parameter:

UnkFirst Interface from the first audio encoder filter.
UnkSecond Interface from the second audio encoder.
C Prototype:

HRESULT GetAudioEncoderInterfaces(IUnknown* UnkFirst, IUnknown* UnkSecond);


Method IMVMultiFileWriter::GetAVIMultiplexerInterfaces

Declaration: Sub GetAVIMultiplexerInterfaces(UnkFirst As Unknown, UnkSecond As Unknown)

Get the IUnknown interface from the two avi multiplexer. The filter uses two equal hidden filter graphs to write the media streams. Setup both multiplexer whith the same parameters to get consistently output files.

Parameter:

UnkFirst Interface from the first AVI multiplexer filter.
UnkSecond Interface from the second AVI multiplexer filter.
C Prototype:

HRESULT GetAVIMultiplexerInterfaces(IUnknown* UnkFirst, IUnknown* UnkSecond);


Method IMVMultiFileWriter::GetFreeDiskSpace

Declaration: Sub GetFreeDiskSpace(FreeSpace As Double, DiskSize As Double)

Get the total and available disk space in MB.

Parameter:

FreeSpace Free available disk space.
DiskSize Total available disk space.
C Prototype:

HRESULT GetFreeDiskSpace(DOUBLE* FreeSpace, DOUBLE* DiskSize);


Method IMVMultiFileWriter::GetVideoEncoderInterfaces

Declaration: Sub GetVideoEncoderInterfaces(UnkFirst As Unknown, UnkSecond As Unknown)

Get the IUnknown interface from the two video encoders. The filter uses two equal hidden filter graphs to write the media streams. Setup both encoder whith the same parameters to get consistently output files

Parameter:

UnkFirst Interface from the first video encoder filter.
UnkSecond Interface from the second video encoder filter.
C Prototype:

HRESULT GetVideoEncoderInterfaces(IUnknown* UnkFirst, IUnknown* UnkSecond);


Property IMVMultiFileWriter::NewFileOnStop

Declaration: Property Get/Put NewFileOnStop As Boolean

New file on stop signal.

Parameter:

- -
C Prototype:

HRESULT put_NewFileOnStop(VARIANT_BOOL newVal);
HRESULT get_NewFileOnStop(VARIANT_BOOL *pVal);


Property IMVMultiFileWriter::NextFileOption

Declaration: Property Get/Put NextFileOption As Long

The new output file option property could be one or more of the following values.

Option Value Description
MV_NEXT_FILE_MANUAL

1

Next output file on calling the NextOutputFile method
MV_NEXT_FILE_SIZE

2

Next output file if the current file size is greater than the NextFileSize property.
MV_NEXT_FILE_TIME

4

Next output on the time option from the NextFileTimeOption property.
C Prototype:

HRESULT put_NextFileOption(LONG newVal);
HRESULT get_NextFileOption(LONG *pVal);


Property IMVMultiFileWriter::NextFilePeriod

Declaration: Property Get/Put NextFilePeriod As Long

The time period of an output file.

C Prototype:

HRESULT put_NextFilePeriod(LONG newVal);
HRESULT get_NextFilePeriod(LONG *pVal);


Property IMVMultiFileWriter::NextFileSize

Declaration: Property Get/Put NextFileSize As Long

The maximum size of an output file in MByte. Minimum value is 1 MByte.

C Prototype:

HRESULT put_NextFileSize(LONG newVal);
HRESULT get_NextFileSize(LONG *pVal);


Property IMVMultiFileWriter::NextFileTimeOption

Declaration: Property Get/Put NextFileTimeOption As Long

Create a new output file on time option.

Option Value Description
MV_NEXT_FILE_TIME_PERIOD

0

Next output file if the current file recording time is greater than the NextFilePeriod property.
MV_NEXT_FILE_TIME_NEW_HOUR

1

Next output file on every new hour.
MV_NEXT_FILE_TIME_NEW_DAY

2

Next output file on every new day.
C Prototype:

HRESULT put_NextFileTimeOption(LONG newVal);
HRESULT get_NextFileTimeOption(LONG *pVal);


Method IMVMultiFileWriter::NextOutputFile

Declaration: Sub NextOutputFile

Switch to the next output file.

C Prototype:

HRESULT NextOutputFile();


Property IMVMultiFileWriter::OutputFolder

Declaration: Property Get/Put OutputFolder As String

The folder for the output video files.

C Prototype:

HRESULT put_OutputFolder(BSTR newVal);
HRESULT get_OutputFolder(BSTR *pVal);


Property IMVMultiFileWriter::Recording

Declaration: Property Get Recording As Boolean

Recording status from the filter.

C Prototype:

HRESULT get_Recording(VARIANT_BOOL *pVal);


Method IMVMultiFileWriter::RenderCaptureGraphs

Declaration: Sub RenderCaptureGraphs

Render the hidden recording filter graphs.

C Prototype:

HRESULT RenderCaptureGraphs();


Method IMVMultiFileWriter::StartRecording

Declaration: Sub StartRecording

Start recording into AVI files.

C Prototype:

HRESULT StartRecording();


Method IMVMultiFileWriter::StopRecording

Declaration: Sub StopRecording

Stop recording.

C Prototype:

HRESULT StopRecording();


Property IMVMultiFileWriter::VideoEncoderDisplayName

Declaration: Property Get/Put VideoEncoderDisplayName As String

Displayname from the video encoder.

C Prototype:

HRESULT put_VideoEncoderDisplayName(BSTR newVal);
HRESULT get_VideoEncoderDisplayName(BSTR *pVal);