DVDBuilder for .NET  3.4
DVD Authoring Software Development Kit
Package PrimoSoftware.DVDBuilder

Namespaces

package  VR
 

Classes

class  DVDBuilder
 This interface provides methods that enable an application to build a DVD video file structure. More...
 
class  DVDBuilderContinueEventArgs
 Provides data for the DVDBuilder.OnContinue event. More...
 
class  DVDBuilderProgressEventArgs
 Provides data for the DVDBuilder.OnProgress event. More...
 
class  DVDBuilderStatusEventArgs
 Provides data for the DVDBuilder.OnStatus event. More...
 
class  ErrorInfo
 Describes a DVDBuilder error. More...
 
interface  InputDataStreamFactory
 The InputDataStreamFactory interface is a class factory for creating System.IO.Stream objects. More...
 
class  Library
 Initializes DVDBuilder and manages license information. More...
 
class  SubpictureEncoder
 DVD subpicture stream encoder. More...
 

Enumerations

enum  DVDBuilderError {
  Success = 0,
  InternalError = 1,
  NoProject = 0x00000100,
  InvalidProjectXml = 0x00000100 + 1,
  ProjectVersionMissing = 0x00000100 + 2,
  UnsupportedProjectVersion = 0x00000100 + 3,
  VideoManagerMissing = 0x00000100 + 4,
  VideoManagerFirstPlayMissing = 0x00000100 + 5,
  InvalidButton = 0x00000100 + 6,
  InvalidMenu = 0x00000100 + 7,
  MenuIdMissing = 0x00000100 + 8,
  DuplicateMenuId = 0x00000100 + 9,
  NoTitlesets = 0x00000100 + 10,
  NoTitles = 0x00000100 + 11,
  NoMenus = 0x00000100 + 12,
  TitleIdMissing = 0x00000100 + 13,
  DuplicateTitleId = 0x00000100 + 14,
  NoChapters = 0x00000100 + 15,
  NoVob = 0x00000100 + 16,
  VobFileMissing = 0x00000100 + 17,
  TooManyTitles = 0x00000100 + 18,
  FirstChapterNotZeroTime = 0x00000100 + 19,
  ChaptersOutOfOrder = 0x00000100 + 20,
  InvalidChapterTime = 0x00000100 + 21,
  InvalidProjectVobAspectRatio = 0x00000100 + 22,
  InvalidProjectVobResolution = 0x00000100 + 23,
  InvalidProjectVobFrameRate = 0x00000100 + 24,
  MenuVobTooBig = 0x00000100 + 25,
  ElementaryStreamFileMissing = 0x00000100 + 26,
  InvalidAudioEsFormat = 0x00000100 + 27,
  InvalidElementaryStream = 0x00000100 + 28,
  TooManyButtons = 0x00000100 + 29,
  InconsistentTitleContentSpecified = 0x00000100 + 30,
  ChapterFileMissing = 0x00000100 + 31,
  InvalidVideoFrameRate = 0x00000200,
  InvalidVideoFormat = 0x00000200 + 1,
  InvalidVideoAspectRatio = 0x00000200 + 2,
  InvalidVideoResolution = 0x00000200 + 3,
  InconsistentVideoStreams = 0x00000200 + 4,
  InvalidAudioFormat = 0x00000300,
  InvalidAudioFrequency = 0x00000300 + 1,
  SubpictureEncodingError = 0x00000400,
  InvalidBitmapDimensions = 0x00000400 + 1,
  UnexpectedBitmapColor = 0x00000400 + 2,
  InvalidBitmap = 0x00000400 + 3,
  UnsupportedBitmapCompression = 0x00000400 + 4,
  UnsupportedBitmapColorDepth = 0x00000400 + 5,
  MultiplexerError = 0x00000500,
  MultiplexerParams = 0x00000500 + 1,
  MultiplexerUnderrun = 0x00000500 + 2,
  DataStreamError = 0x00001F00 + 1,
  InvalidNavigationCommand = 0x00001F00 + 2,
  Interrupted = 0x00001F00 + 3
}
 The DVDBuilderError type defines a range of error codes which are returned by the DVDBuilder.Error property. More...
 
enum  DVDBuilderStatus {
  WritingVOB = 1,
  WritingIFO = 2
}
 The DVDBuilderStatus type defines a range of status information. More...
 
enum  ErrorFacility {
  Success = 0,
  SystemWindows = 1,
  SystemMacOSStatus = 2,
  SystemMacMach = 3,
  SystemPosix = 4,
  VideoRecorder = 500,
  VRDevicePlugin = 501,
  VRDevice = 502,
  PBEngine = 503,
  DVDBuilder = 504,
  SubpictureEncoder = 505
}
 Describes the DVDBuilder facilities that could generate errors. More...
 
enum  LicenseStatusFlags {
  Ready = 0,
  ValidationInProgress = 1,
  DemoBuild = 2
}
 Defines the DVDBuilder license status. More...
 
enum  SubpictureEncoderError {
  Success = 0,
  InternalError = 1,
  SyntaxError = 0x601,
  UnsupportedFeature = 0x602,
  ReadImageError = 0x603,
  InvalidBitmapDimensions = 0x604,
  UnexpectedBitmapColor = 0x605,
  SubpictureEncodingError = 0x606
}
 The SubpictureEncoderError type defines the error codes which are returned by the SubpictureEncoder object. More...
 
enum  SubpictureEncoderImageMaskColor {
  Background = 0,
  Pattern = 1,
  Emphasis1 = 2,
  Emphasis2 = 3
}
 The SubpictureEncoderImageMaskColor type defines the subpicture mask color indices. More...
 

Enumeration Type Documentation

The DVDBuilderError type defines a range of error codes which are returned by the DVDBuilder.Error property.

Each error code has an auxiliary message that helps to identify the error. It is called an error hint and is returned by the method DVDBuilder.Error. Some error codes do not have a hint since such is not needed to identify the error. Other error codes specify as hints invalid project element or the path to a problematic input file. The hint format is specific to the error code that it explains but there are some common conventions:

  • A text in italics specifies portions of the hint that are replaced by a concrete value.
  • When several project elements are placed one after another, separated by a space, this represents a (partial) hierarchy of project elements leading to the element where the error is located. The first element in a series is located near the root of the XML structure. Each successive element is located deeper.

Hint samples (definition and actual string):

hint: none
actual string: empty

hint: line:num column:num error-message
actual string: line:1 column:5 Unknown error.

hint: x.x.x.x
actual string: 1.1.0.1

hint: <videoManager> <menu id="num"> <button attributes>
actual string: <videoManager> <menu id="100"> <button left="10" top=(missing) height="30" width="100" navigate=(missing)>
This hint specifies a button with missing 'top' and 'navigate' attributes. The button is located in a menu with an id '10'. The menu itself is in the video manager.

hint: <titleSet nn> <menu id="duplicate-menu-id">
actual string: <titleSet 02> <menu id="5">
This hint species a menu with id '5'. The menu is located in the second titleset in the dvd structure. NOTE: Titlesets are numbered from 01 to 99, but the numbering is implicitly based on their order in the project file.

hint: <titleSet nn> <title id="num"> file="file-path" [(callback)]
actual string: <titleSet 01> <title id="1"> file="C:\tmp\movies\test.mpg"
This hint specifies a video file "C:\tmp\movies\test.mpg" which is defined in a title with id '1'. The title is located in the first titleset defined in the project.

Enumerator
Success 

The operation is successful.

Hint: none

InternalError 

Unexpected error in DVDBuilder

Hint: none | error-message

NoProject 

No project is specified (neither buffer, not filename)

Hint: none

Version
2.0
InvalidProjectXml 

Malformed project XML

Hint: line:num column:num error-message

Version
2.0
ProjectVersionMissing 

Project version is not specified in the project

Hint: none

Version
2.0
UnsupportedProjectVersion 

The project version is higher then maximum recognized by DVDBuilder

Hint (maximum supported project version by DVDBuilder): x.x.x.x

Version
2.0
VideoManagerMissing 

There's no video manager in the project file.

A <videoManager> element is required.

Hint: none

Version
2.0
VideoManagerFirstPlayMissing 

The video manager needs a first play command.

It is executed when the DVD disc is loaded in the player. The command is set by the attribute 'firstPlayNavigate' of the <videoManager> element.

Hint: none

Version
2.0
InvalidButton 

A <button> element is not defined correctly.

Hint (one of the following):

<videoManager> <menu id="num"> <button attributes>

<titleSet nn> <menu id="num"> <button attributes>

Version
2.0
InvalidMenu 

A <menu> element is not defined correctly.

Hint (The invalid menu is either in the video manager or in a title set):

<videoManager> <menu id="num">

<titleSet nn> <menu id="num">

Version
2.0
MenuIdMissing 

A <menu> element has no 'id' attribute.

Hint (The invalid menu is either in the video manager or in a title set):

<videoManager>

<titleSet nn>

Version
2.0
DuplicateMenuId 

A menu has the same id as another menu and the conflict cannot be resolved.

Menu id's must be unique within a titleset and within the video manager. Additionally the root menu of a titleset must not conflict with the root menu of another titleset.

Hint (The invalid menu is either in the video manager or in a title set):

<videoManager> <menu id="duplicate-menu-id">

<titleSet nn> <menu id="duplicate-menu-id">

Version
2.0
NoTitlesets 

A DVD must have at least one video titleset.

Hint: none

Version
2.0
NoTitles 

There are no titles in the titleset.

Hint: none

Version
2.0
NoMenus 

The <menus> element is empty.

When used it must contain at least one <menu> element.

Hint: none

Version
2.0
TitleIdMissing 

A <title> element has no 'id' attribute

Hint (The titleset where the title is defined):

<titleSet nn>

Version
2.0
DuplicateTitleId 

The attribute 'id' with the same value is used in more than one <title>.

Hint (The titleset where the duplicate title is defined and the title itself):

<titleSet nn> <title id="duplicate-title-id">

Version
2.0
NoChapters 

A title must have at least one chapter.

Hint: title-id

Version
2.0
NoVob 

A title must have at least one video object.

Hint: title-id

Version
2.0
VobFileMissing 

A <videoObject> element has no 'file' attribute or it's empty.

Hint: parent-title-id

Version
2.0
TooManyTitles 

A DVD disc can contain up to 99 titles.

Hint: none

Version
2.0
FirstChapterNotZeroTime 

The first chapter in a title must start from 00:00:00

Hint: title-id

Version
2.0
ChaptersOutOfOrder 

The defined chapters must be successive in time.

Hint: title-id

Version
2.0
InvalidChapterTime 

The chapter time should be before the end of the video object; it should be in the form hh:mm:ss.

Hint: title-id

Version
2.0
InvalidProjectVobAspectRatio 

The aspect ratio specified in the project file is invalid.

It must be either 4:3 or 16:9.

Hint: <title id="num"> file="file-path"

Version
2.0
InvalidProjectVobResolution 

The resolution is not specified correctly in the project file.

Allowed resolutions:

NTSC: 720x480 | 704x480 | 352x480 | 352x240

PAL: 720x576 | 704x576 | 352x576 | 352x288

Hint: <title id="num"> file="file-path"

InvalidProjectVobFrameRate 

The framerate is not specified correctly in the project file.

It must be either 29.97 fps (NTSC) or 25 fps (PAL).

Hint: <title id="num"> file="file-path"

Version
2.0
MenuVobTooBig 

The menu VOB cannot be bigger than 1GB.

Hint: none

ElementaryStreamFileMissing 

An elementary stream (<videoStream>, <audioStream> or <subpictureStream>) element has no 'file' attribute or it's empty.

Hint: parent-title-id

Version
2.1.1
InvalidAudioEsFormat 

The audio format is invalid.

The audio format must be MPA, AC3 or DTS.

Hint: <audioStream file="file-path" format="audio-format"

Version
2.1.1
InvalidElementaryStream 

The specified elementary stream file is invalid.

Hint (one of the following):

<videoStream file="file-path"

<audioStream file="file-path"

<subpictureStream file="file-path"

Version
2.1.1
TooManyButtons 

A 4:3 menu can contain up to 36 buttons.

A 16:9 menu can contain up to 18 buttons.

Hint: none

Version
2.1.3
InconsistentTitleContentSpecified 

A title content must be specified by either <videoObject> or by <chapter> elements.

It is invalid input files to be specified in both <videoObject> and <chapter> elements.

Hint: title-id

Version
3.2
ChapterFileMissing 

A <chapter> element has no 'file' attribute or it's empty.

Hint: parent-title-id

Version
3.2
InvalidVideoFrameRate 

The frame rate of the input video stream must be either 29.97 fps for NTSC or 25 fps for PAL.

Hint (one of the following):

<videManager> <menu id="num"> file="file-path"

<titleSet nn> <menu id="num"> file="file-path"

<titleSet nn> <title id="num"> file="file-path" [(callback)]

Version
2.0
InvalidVideoFormat 

The format of the input video must be either MPEG-1 or MPEG-2 program stream.

NOTE: An elementary stream (raw video) is not accepted even if it's encoded with MPEG-1 or MPEG-2.

Hint (one of the following):

<videManager> <menu id="num"> file="file-path"

<titleSet nn> <menu id="num"> file="file-path"

<titleSet nn> <title id="num"> file="file-path" [(callback)]

Version
2.0
InvalidVideoAspectRatio 

The aspect ratio of the input video must be either 4:3 or 16:9.

Hint (one of the following):

<videManager> <menu id="num"> file="file-path"

<titleSet nn> <menu id="num"> file="file-path"

<titleSet nn> <title id="num"> file="file-path" [(callback)]

Version
2.0
InvalidVideoResolution 

The resolution of the input video must be one of the following:

NTSC: 720x480 | 704x480 | 352x480 | 352x240

PAL: 720x576 | 704x576 | 352x576 | 352x288

Hint (one of the following):

<videManager> <menu id="num"> file="file-path"

<titleSet nn> <menu id="num"> file="file-path"

<titleSet nn> <title id="num"> file="file-path" [(callback)]

Version
2.0
InconsistentVideoStreams 

A specific group of videos is required to have the same video parameters.

The requirement applies to:

1. all video objects in a titleset;

2. all menu backgrounds in a titleset or in the video manager

Hint (one of the following):

<videoManager> <menus>

<titleSet nn> <menus>

<titleSet nn> <titles>

Version
2.0
InvalidAudioFormat 

The format of the input audio streams must be one of the following: LCPM, AC3, MPEG-1 Layer II or DTS.

Hint (one of the following):

<videManager> <menu id="num"> file="file-path"

<titleSet nn> <menu id="num"> file="file-path"

<titleSet nn> <title id="num"> file="file-path" [(callback)]

Version
2.0
InvalidAudioFrequency 

The frequency (sampling rate) of the input audio must be either 48000 Hz or 96000 Hz.

hint (one of the following):

<videManager> <menu id="num"> file="file-path"

<titleSet nn> <menu id="num"> file="file-path"

<titleSet nn> <title id="num"> file="file-path" [(callback)]

Version
2.0
SubpictureEncodingError 

Subpicture encoding error.

The encoded subpicture size exceeds 52KB.

Hint: bitmap-file

Version
2.0
InvalidBitmapDimensions 

The bitmap width and height must be positive and divisible by 2 (even numbers).

A positive height indicates that the row order is the usual upside-down.

BMP File Format: Pixels are stored "upside-down" with respect to normal image raster scan order, starting in the lower left corner, going from left to right, and then row by row from the bottom to the top of the image. Uncompressed Windows bitmaps can also be stored from the top row to the bottom, if the image height value is negative.

Hint: bitmap-file

Version
2.0
UnexpectedBitmapColor 

The mask bitmap specified by the file attribute of a <mask> element, contains a color that is different from the colors specified by the "patternColor", "backgroundColor", "emphasis1Color", and "emphasis2Color" attributes of the <mask> element.

For text only masks, this error usually means that the text pattern has been drawn using an anti-aliasing algorithm. The anti-aliasing algorithm introduces pixels of various colors at the edge of the text to smooth the text display. In most cases that effect can be seen by magnifying the mask image.

Hint: bitmap-file

Version
2.0
InvalidBitmap 

The input file is not a valid bitmap

Hint: bitmap-file

Version
2.0
UnsupportedBitmapCompression 

The input file is a compressed bitmap.

An uncompressed bitmap is required.

Hint: bitmap-file

UnsupportedBitmapColorDepth 

The input bitmap does not have the supported color depth.

The supported color depth is: 8-bit, 24-bit or 32-bit.

Hint: bitmap-file

Version
2.0
MultiplexerError 

A general MPEG multiplexer error.

Hint: file="video-file" [(callback)]

Version
1.0
MultiplexerParams 

Invalid parameters (e.g.

no audio/video streams, or streams with invalid format) are passed to the multiplexer.

Hint: file="video-file" [(callback)]

Version
2.0
MultiplexerUnderrun 

The multiplexer has run out of input data.

Hint: file="video-file" [(callback)]

Version
2.0
DataStreamError 

A call to an IDataStream method failed.

Hint: file="video-file" [(callback)]

Version
1.0
InvalidNavigationCommand 

Invalid navigation command.

Wrong title ID, menu ID or chapter number found in a navigational attribute.

Hint (one of the following):

<videoManager firstPlayNavigate="command">

<videoManager> <menu id="id"> <button navigate="command">

<titleSet nn> <title id="id" postNavigate="command">

<titleSet nn> <menu id="id"> <button navigate="command">

Version
1.0
Interrupted 

Operation was interrupted by user.

Hint: none

The DVDBuilderStatus type defines a range of status information.

Members of the DVDBuilderStatus enumeration are passed to the DVDBuilder.OnStatus event, so that the application can respond to the changing status of the DVDBuilder object being used.

Enumerator
WritingVOB 

Writing Video Manager and Video Title Set video objects, VOB files.

WritingIFO 

Writing Video Manager and Video Title Set information files like: VIDEO_TS.IFO, VIDEO_TS.BUP, VTS_XX_0.IFO and VTS_XX_0.BUP.

Describes the DVDBuilder facilities that could generate errors.

Each facility represents either an external component or a component implemented by AVBlocks.

Often error codes will have the same value, but different meaning depending on the facility that generated the error.

Enumerator
Success 

Not a facility.

This is a special value that indicates a successful operation.

SystemWindows 

Windows System Error

SystemMacOSStatus 

MacOS Status (Mac)

SystemMacMach 

Mach Error (Mac)

SystemPosix 

POSIX Error (Linux, Mac)

VideoRecorder 

VideoRecorder Error.

See VideoRecorderError.

VRDevicePlugin 

VRDevicePlugin Error.

See VRDevicePluginError.

VRDevice 

VRDevice Error.

See VRDeviceError.

PBEngine 

PrimoBurner Error.

DVDBuilder 

DVDBuilder Error.

See DVDBuilderError

SubpictureEncoder 

SubpictureEncoder Error.

See SubpictureEncoderError

Defines the DVDBuilder license status.

When a license is set it may take some time until the license is resolved by the library.

See also
Library.SetLicense, Library.LicenseStatus
Enumerator
Ready 

= 0

The licensed state is permanent. It can be changed only by calling Library.SetLicense.

The Resolved status does not imply that the library or any component is successfully licensed.

ValidationInProgress 

= 1

The license is being validated and the current licensed state in DVDBuilder is temporary.

DemoBuild 

= 2

This is a Demo build of DVDBuilder. The library cannot be licensed and always operates in Demo mode.

The SubpictureEncoderError type defines the error codes which are returned by the SubpictureEncoder object.

Enumerator
Success 

= 0x00

The operation is successful.

InternalError 

= 0x01

Internal error. An unexpected error in SubpictureEncoder.

SyntaxError 

= 0x601

Syntax error in the input file.

UnsupportedFeature 

= 0x602

An unsupported feature is specified in the input file.

ReadImageError 

= 0x603

The input image can not be loaded.

InvalidBitmapDimensions 

= 0x604

The bitmap width and height must be positive and divisible by 2 (i.e. width and height must be even numbers).

UnexpectedBitmapColor 

= 0x605

A subpicture image contains a color that is different from the mask colors configuration of the SubpictureEncoder. The background, pattern, emphasis1, and emphasis2 mask colors can be set with the SubpictureEncoder.SetImageMaskColor method.

SubpictureEncodingError 

Subpicture encoding error.

The encoded subpicture size exceeds 52KB.

The SubpictureEncoderImageMaskColor type defines the subpicture mask color indices.

Enumerator
Background 

Background color index.

Pattern 

Pattern color index.

Emphasis1 

Emphasis1 color index.

Emphasis2 

Emphasis2 color index.