Editing Engine structures
SMM_GROUP_TASK
Description
Structure. Describes the group part of the task (See group element of SDK Batch file structure).
struct SMM_GROUP_TASK {
CString szDstName ;
SMM_TaskType nTaskType ;
SMM_TRACK_INFO tracks[10] ;
UINT nTrackCount;
};
Members
szDstName
Output file name. No default value .
nTaskType
Task type to be performed to get current output file. Default value: SMM_Task_Type_Trimming
.
tracks
Track information for current group (See below).
nTrackCount
Number of tracks in current group. Default value: 1.
SMM_TRACK_INFO
Description
Class. Describes the track part of the task (See track element of SDK Batch file structure).
class SMM_TRACK_INFO {
public:
int nVideoStream;
int nAudioStream;
WCHAR szMPEG2IdxFileName[1024];
SMM_CLIP_INFO *pClips;
int nClips;
SMM_OutputTypes nOutType;
SMM_TrimmAccuracyType nTrimmAccurType;
DWORD ulFlags;
SMM_AutoSplitType dwASMode;
LONGLONG llASValue;
UINT nTrackPos;
DWORD dwReserv[20];
void CreateClips( int nNumber );
void ClearClips ( void );
void CopyFrom ( SMM_TRACK_INFO TrackFrom );
};
Members
nVideoStream
Number of video streams in files. Default value: 0.
nAudioStream
Number of audio streams in files. Default value: 0.
szMPEG2IdxFileName
MPEG2 Index file name.
pClips
Pointer to the clips information of the current track. Default value: NULL.
nClips
Quantity of clips in current track. Default value: 0.
nOutType
The type of the output file. Default value: SMM_File_Type_NO
.
nTrimmAccurType
Trim accuracy type used(applied for Trimming only, ignored for joining). Default value: SMM_TrimmAccuracyType_Deflt
.
ulFlags
Trimming flags (applied for Trimming only, ignored for joining).
dwASMode
Not used.
llASValue
Not used.
Member functions
CreateClips
Sets the quantity of SMM_CLIP_INFO
structures and allocates memory to store the given number of clips. The allocated memory should always be released.
ClearClips
Releases the memory allocated by CreateClips()
function and resets the nClips member.
CopyFrom
Copies data from the existing track.
SMM_CLIP_INFO
Description
Structure. Describes the exact clip part of the current track (See clip part of SDK Batch file structure)
struct SMM_CLIP_INFO {
DWORD dwClipNum;
REFERENCE_TIME rtStart;
REFERENCE_TIME rtEnd;
BOOL bMute;
WCHAR wsfName[1024];
DWORD dwReserv[20];
};
Members
dwClipNum
The number of the curent clip.
rtStart
Start time of the current clip (relative to the file's time).
rtEnd
End time of the curent clip (relative to the file's time).
wsfName
The name of file, assigned to the current clip.
bMute
Not applied.
Notes:
If you're going to use the SMM_CLIP_INFO
to perform the joining operation, you should set rtStart and rtEnd to 0, that means you are going to append the whole file to the output. This is currently the only mode for joining, otherwise the error will occure!
TrimInfoList
Description
Structure. Used to set trimming parameters to SolveigMM Video Editing Engine through SMAT_TrimList parameter.
struct TrimInfoList
{
public:
UINT nListSize;
__TSTrimInfo* trim_list;
TrimInfoList( void );
TrimInfoList( UINT size );
void Clear ( void );
};
Members
nListSize
A count of fragments to be kept in output media file. Fragments start/stop values have to be described in __TSTrimInfo
structures.
trim_list
A pointer to __TSTrimInfo
array size of nListSize * sizeof (__TSTrimInfo)
Member functions
TrimInfoList( void )
Default constructor.
TrimInfoList( UINT size )
Constructor, allocates memory for "size" trim_list
's.
Clear
Releases memory allocated.
__TSTrimInfo
Description
Structure. Describes start/stop time values of media fragments to be kept and saved to output file.
typedef struct __tagTSTrimInfo {
INT16 nPieceNum;
LONGLONG llStartPos;
LONGLONG llStopPos;
} __TSTrimInfo;
Members
nPieceNum A number of a fragment.
llStartPos
Start fragment time value in 100 nanoseconds units.
llStopPos
Stop fragment time value in 100 nanoseconds units.
FILE_VERSIONS_2
Description
Structure. Used to get objects being used by the Video Editing Engine friendly names and versions through SMAT_GetVersions2 parameter.
struct FILE_VERSIONS_2 {
int count;
VERSION_INFO_2* data;
};
Members
count
Count of objects to be used by the Video Editing Engine;
data
A pointer to VERSION_INFO_2 array size of count * sizeof (VERSION_INFO_2)
VERSION_INFO_2
Description
Structure. Gives the informatoin on filters used.
struct VERSION_INFO_2 {
WCHAR filename[100];
WCHAR fileversion[100];
WCHAR filepath[1024];
DWORD dwReserved[100];
};
Members
filename
A friendly name of an object being used by the Video Editing Engine.
fileversion
The version of the object.
filepath
The path to the current object.
SMM_ASF_MARKER
Description
Structure. Used to set/get certain ASF marker through SMAT_ASFMarker parameter .
struct SMM_ASF_MARKER {
WCHAR name[5120];
REFERENCE_TIME time_pos;
ULONG num_pos;
};
Parameters:
name
A marker name to be limited by 5120 wide characters .
time_pos
A marker time position in 100 nanosecond utins .
num_pos
A zero-based index of a markers contained in ASF .
TrimListSilenceNums
Description
Class. Contains the numbers of intervals to be replaced with silence.
class SMM_TRACK_INFO {
int* silenceNums;
int count;
TrimListSilenceNums ();
TrimListSilenceNums (const TrimListSilenceNums& their);
~TrimListSilenceNums ();
void resize (UINT size);
void CopyFrom (const TrimListSilenceNums* list);
void Clear ();
};
Members
silenceNums
Array of intervals numbers to be replaced with silence.
count
Number of elements in the silenceNum array.
Member functions
TrimListSilenceNums
Constructors of the class, that eiter creates a new array or copies the array from existing.
~TrimListSilenceNums
Destructor of the class, deletes the initialized array member.
resize
Reallocates the array of specified size.
CopyFrom
Copies data from the existing TrimListSilenceNums
class.
clear
deletes the allocated array of intervals, if any.