IWMEncSourceGroup.PrepareToEncode
![]() |
The PrepareToEncode method initializes the source group in the encoding session.
Syntax
IWMEncSourceGroup.PrepareToEncode(bPrepare)
Parameters
bPrepare
[in] Boolean indicating whether to initialize an encoding session.
Return Values
If this method fails, it returns an error number.
| Number | Description |
| 0x8007000E | Memory cannot be allocated. |
| 0xC00D0011 | This method cannot be called if the encoder engine is running. |
| 0xC00D002 | The request is not valid for the current state of the encoder engine. |
| 0xC00D1B67 | You must specify a profile for the source group. |
Remarks
You can use this method to prepare the encoding session on a source group-by-source group basis. You can also use this method during a running encoding session to create and initialize source groups.
Example Code
' Create a WMEncoder object.
Dim Encoder As WMEncoder
Set Encoder = New WMEncoder
' Declare objects and variables.
Dim SrcGrpColl As IWMEncSourceGroupCollection
Dim SrcGrp As IWMEncSourceGroup
Dim SrcAud As IWMEncSource
Dim SrcVid As IWMEncVideoSource
Dim ProColl As IWMEncProfileCollection
Dim Pro As IWMEncProfile
Dim i As Integer
Dim iAudCount As Integer
Dim iVidCount As Integer
' Create an IWMEncSourceGroupCollection object.
Set SrcGrpColl = Encoder.SourceGroupCollection
' Create an IWMEncSourceGroup object.
Set SrcGrp = SrcGrpColl.Add("SG_1")
' Create an audio and a video source object.
Set SrcAud = SrcGrp.AddSource(WMENC_AUDIO)
Set SrcVid = SrcGrp.AddSource(WMENC_VIDEO)
' Specify the .avi source file.
SrcAud.SetInput "C:\filename.avi"
SrcVid.SetInput "C:\filename.avi"
' You can also use the AutoSetFileSource property to
' automatically parse a file and add the source streams
' to the source group.
'
' SrcGrp.AutoSetFileSource ("C:\filename.avi")
' Loop through the collection of system profiles to set
' a specific profile into the source group object.
Set ProColl = Encoder.ProfileCollection
For i = 0 To ProColl.Count - 1
Set Pro = ProColl.Item(i)
If Pro.Name = "Windows Media Video 8 for Local Area Network (384 Kbps)" Then
SrcGrp.Profile = Pro
Exit For
End If
Next
' Change the name of the source group.
SrcGrp.Name = "Music Only"
' Retrieve the number of audio and video streams
' in the source group.
iAudCount = SrcGrp.SourceCount(WMENC_AUDIO)
iVidCount = SrcGrp.SourceCount(WMENC_VIDEO)
' Remove the video stream. In the current release of the
' Windows Media Encoder SDK, a source group can contain
' at most only one audio, one video, and one script stream.
' You must verify that the count is not 0 before deleting
' the source stream.
If iVidCount <> 0 Then
SrcGrp.RemoveSource WMENC_VIDEO, 0
End If
' Specify automatic archiving when the source group
' is active.
SrcGrp.AutoArchive(WMENC_ARCHIVE_LOCAL) = WMENC_ARCHIVE_START
' Start the encoding process.
SrcGrp.PrepareToEncode True
Requirements
Reference: Windows Media Encoder
Library: wmenc.exe
See Also
.gif)