DVDBuilder for C++  3.4
DVD Authoring Software Development Kit
DVDBuilder.h File Reference

Classes

class  DVDBuilder
 This interface provides methods that enable an application to build a DVD video file structure. More...
 
class  DVDBuilderCallback
 The DVDBuilderCallback interface is implemented by the application to receive status information from the DVDBuilder object. More...
 
class  ErrorInfo
 Describes a DVDBuilder error. More...
 
class  InputDataStreamFactory
 The InputDataStreamFactory interface is a class factory for creating and destroying DataStream objects. More...
 
class  SubpictureEncoder
 DVD subpicture stream encoder. More...
 

Namespaces

 primo
 Top namespace for all libraries developed by Primo Software Corp.
 
 primo::dvdbuilder
 DVDBuilder(tm) Application Programming Interface.
 
 primo::dvdbuilder::DVDBuilderError
 DVDBuilderError namespace.
 
 primo::dvdbuilder::DVDBuilderStatus
 DVDBuilderStatus namespace.
 
 primo::dvdbuilder::ErrorFacility
 Describes the DVDBuilder facilities that could generate errors.
 
 primo::dvdbuilder::GenericError
 Generic error codes.
 
 primo::dvdbuilder::Library
 This namespace contains global functions for the DVDBuilder library.
 
 primo::dvdbuilder::SubpictureEncoderError
 SubpictureEncoderError namespace.
 
 primo::dvdbuilder::SubpictureEncoderImageMaskColor
 SubpictureEncoderImageMaskColor namespace.
 

Enumerations

enum  Enum {
  Success = 0,
  SystemWindows = 1,
  SystemMacOSStatus = 2,
  SystemMacMach = 3,
  SystemPosix = 4,
  VideoRecorder = 500,
  VRDevicePlugin = 501,
  VRDevice = 502,
  PBEngine = 503,
  DVDBuilder = 504,
  SubpictureEncoder = 505
}
 The ErrorFacility::Enum type describes the error source. More...
 
enum  Enum {
  WritingVOB = 1,
  WritingIFO = 2
}
 The DVDBuilderStatus::Enum type defines a range of status information. More...
 
enum  Enum {
  _ProjectErrorStart = 0x00000100,
  _ProjectErrorEnd = 0x000001FF,
  _VideoErrorStart = 0x00000200,
  _VideoErrorEnd = 0x000002FF,
  _AudioErrorStart = 0x00000300,
  _AudioErrorEnd = 0x000003FF,
  _BitmapErrorStart = 0x00000400,
  _BitmapErrorEnd = 0x000004FF,
  _MultiplexerErrorStart = 0x00000500,
  _MultiplexerErrorEnd = 0x000005FF,
  _OtherErrorStart = 0x00001F00,
  _OtherErrorEnd = 0x00001FFF,
  Success = GenericError::Success,
  InternalError = GenericError::InternalError,
  NoProject = DVDBuilderError::_ProjectErrorStart,
  InvalidProjectXml = DVDBuilderError::_ProjectErrorStart + 1,
  ProjectVersionMissing = DVDBuilderError::_ProjectErrorStart + 2,
  UnsupportedProjectVersion = DVDBuilderError::_ProjectErrorStart + 3,
  VideoManagerMissing = DVDBuilderError::_ProjectErrorStart + 4,
  VideoManagerFirstPlayMissing = DVDBuilderError::_ProjectErrorStart + 5,
  InvalidButton = DVDBuilderError::_ProjectErrorStart + 6,
  InvalidMenu = DVDBuilderError::_ProjectErrorStart + 7,
  MenuIdMissing = DVDBuilderError::_ProjectErrorStart + 8,
  DuplicateMenuId = DVDBuilderError::_ProjectErrorStart + 9,
  NoTitlesets = DVDBuilderError::_ProjectErrorStart + 10,
  NoTitles = DVDBuilderError::_ProjectErrorStart + 11,
  NoMenus = DVDBuilderError::_ProjectErrorStart + 12,
  TitleIdMissing = DVDBuilderError::_ProjectErrorStart + 13,
  DuplicateTitleId = DVDBuilderError::_ProjectErrorStart + 14,
  NoChapters = DVDBuilderError::_ProjectErrorStart + 15,
  NoVob = DVDBuilderError::_ProjectErrorStart + 16,
  VobFileMissing = DVDBuilderError::_ProjectErrorStart + 17,
  TooManyTitles = DVDBuilderError::_ProjectErrorStart + 18,
  FirstChapterNotZeroTime = DVDBuilderError::_ProjectErrorStart + 19,
  ChaptersOutOfOrder = DVDBuilderError::_ProjectErrorStart + 20,
  InvalidChapterTime = DVDBuilderError::_ProjectErrorStart + 21,
  InvalidProjectVobAspectRatio = DVDBuilderError::_ProjectErrorStart + 22,
  InvalidProjectVobResolution = DVDBuilderError::_ProjectErrorStart + 23,
  InvalidProjectVobFrameRate = DVDBuilderError::_ProjectErrorStart + 24,
  MenuVobTooBig = DVDBuilderError::_ProjectErrorStart + 25,
  ElementaryStreamFileMissing = DVDBuilderError::_ProjectErrorStart + 26,
  InvalidAudioEsFormat = DVDBuilderError::_ProjectErrorStart + 27,
  InvalidElementaryStream = DVDBuilderError::_ProjectErrorStart + 28,
  TooManyButtons = DVDBuilderError::_ProjectErrorStart + 29,
  InconsistentTitleContentSpecified = DVDBuilderError::_ProjectErrorStart + 30,
  ChapterFileMissing = DVDBuilderError::_ProjectErrorStart + 31,
  InvalidVideoFrameRate = DVDBuilderError::_VideoErrorStart,
  InvalidVideoFormat = DVDBuilderError::_VideoErrorStart + 1,
  InvalidVideoAspectRatio = DVDBuilderError::_VideoErrorStart + 2,
  InvalidVideoResolution = DVDBuilderError::_VideoErrorStart + 3,
  InconsistentVideoStreams = DVDBuilderError::_VideoErrorStart + 4,
  InvalidAudioFormat = DVDBuilderError::_AudioErrorStart,
  InvalidAudioFrequency = DVDBuilderError::_AudioErrorStart + 1,
  SubpictureEncodingError = DVDBuilderError::_BitmapErrorStart,
  InvalidBitmapDimensions = DVDBuilderError::_BitmapErrorStart + 1,
  UnexpectedBitmapColor = DVDBuilderError::_BitmapErrorStart + 2,
  InvalidBitmap = DVDBuilderError::_BitmapErrorStart + 3,
  UnsupportedBitmapCompression = DVDBuilderError::_BitmapErrorStart + 4,
  UnsupportedBitmapColorDepth = DVDBuilderError::_BitmapErrorStart + 5,
  MultiplexerError = DVDBuilderError::_MultiplexerErrorStart,
  MultiplexerParams = DVDBuilderError::_MultiplexerErrorStart + 1,
  MultiplexerUnderrun = DVDBuilderError::_MultiplexerErrorStart + 2,
  DataStreamError = DVDBuilderError::_OtherErrorStart + 1,
  InvalidNavigationCommand = DVDBuilderError::_OtherErrorStart + 2,
  Interrupted = DVDBuilderError::_OtherErrorStart + 3
}
 The DVDBuilderError::Enum type defines a range of error codes which are returned by the DVDBuilder::error() method. More...
 
enum  Enum {
  Start = 0x00000600,
  End = 0x000006FF,
  Success = GenericError::Success,
  InternalError = GenericError::InternalError,
  SyntaxError = (SubpictureEncoderError::Start + 1),
  UnsupportedFeature = (SubpictureEncoderError::Start + 2),
  ReadImageError = (SubpictureEncoderError::Start + 3),
  InvalidBitmapDimensions = (SubpictureEncoderError::Start + 4),
  UnexpectedBitmapColor = (SubpictureEncoderError::Start + 5),
  SubpictureEncodingError = (SubpictureEncoderError::Start + 6)
}
 The SubpictureEncoderError::Enum type defines a range of error codes which are returned by the SubpictureEncoder::error method. More...
 
enum  Enum {
  Background = 0,
  Pattern = 1,
  Emphasis1 = 2,
  Emphasis2 = 3
}
 The SubpictureEncoderImageMaskColor::Enum type defines the subpicture mask color indexes. More...
 

Functions

DVDBuilder * createDVDBuilder ()
 see dvdb_create_dvd_builder
 
primo::license::LicenseInfocreateLicenseInfo ()
 see dvdb_create_license_info
 
SubpictureEncoder * createSubpictureEncoder ()
 see dvdb_create_subpicture_encoder
 
VR::VideoRecorder * createVideoRecorder ()
 see dvdb_create_video_recorder
 
DVDBUILDER_API
primo::dvdbuilder::DVDBuilder
*DVDBUILDER_CALL 
dvdb_create_dvd_builder ()
 Creates a DVDBuilder. More...
 
DVDBUILDER_API
primo::license::LicenseInfo
*DVDBUILDER_CALL 
dvdb_create_license_info ()
 Creates a new LicenseInfo instance. More...
 
DVDBUILDER_API
primo::dvdbuilder::SubpictureEncoder
*DVDBUILDER_CALL 
dvdb_create_subpicture_encoder ()
 Creates a SubpictureEncoder. More...
 
DVDBUILDER_API
primo::dvdbuilder::VR::VideoRecorder
*DVDBUILDER_CALL 
dvdb_create_video_recorder ()
 Creates a VideoRecorder. More...
 
DVDBUILDER_API int32_t
DVDBUILDER_CALL 
dvdb_set_license (const char *license)
 Sets a license string. More...
 
DVDBUILDER_API void DVDBUILDER_CALL dvdb_set_license_info (const char *pLicenseName, const char *pLicenseCompany, const char *pLicenseKey)
 
int32_t setLicense (const char *license)
 see dvdb_set_license
 

Variables

static const uint32_t InternalError = (GenericError::Start + 1)
 Internal error. More...
 
static const uint32_t Start = (0)
 This is not an actual error code. More...
 
static const uint32_t Success = (GenericError::Start + 0)
 Success.
 

Function Documentation

DVDBUILDER_API primo::dvdbuilder::DVDBuilder* DVDBUILDER_CALL dvdb_create_dvd_builder ( )

Creates a DVDBuilder.

The caller is responsible for releasing the object when it is not needed anymore.

Returns
A pointer to the new DVDBuilder object.
See also
Object Management
DVDBuilder

Referenced by primo::dvdbuilder::Library::createDVDBuilder().

DVDBUILDER_API primo::license::LicenseInfo* DVDBUILDER_CALL dvdb_create_license_info ( )

Creates a new LicenseInfo instance.

Version
3.0.1
Returns
A pointer to LicenseInfo object.
See also
primo::license::LicenseInfo

Referenced by primo::dvdbuilder::Library::createLicenseInfo().

DVDBUILDER_API primo::dvdbuilder::SubpictureEncoder* DVDBUILDER_CALL dvdb_create_subpicture_encoder ( )

Creates a SubpictureEncoder.

The caller is responsible for releasing the object when it is not needed anymore.

Returns
A pointer to the new SubpictureEncoder object.
See also
Object Management
SubpictureEncoder

Referenced by primo::dvdbuilder::Library::createSubpictureEncoder().

DVDBUILDER_API primo::dvdbuilder::VR::VideoRecorder* DVDBUILDER_CALL dvdb_create_video_recorder ( )

Creates a VideoRecorder.

The caller is responsible for releasing the object when it is not needed anymore.

Returns
A pointer to the new VideoRecorder object.
See also
Object Management
VideoRecorder
Version
2.0

Referenced by primo::dvdbuilder::Library::createVideoRecorder().

DVDBUILDER_API int32_t DVDBUILDER_CALL dvdb_set_license ( const char *  license)

Sets a license string.

The supplied license is appended to the library license state.

   @param license A string with license information.
   If the license string is <b>NULL</b> the library license state is cleared.

   @return The status after the license is set.
   The returned value is a combination of flags from the \ref primo::license::LicenseStatusFlags::Enum "LicenseStatusFlags" enum.

   @remarks A Demo build of the library cannot be licensed and always returns \ref primo::license::LicenseStatusFlags::DemoBuild "LicenseStatusFlags::DemoBuild".

   @version 3.0.1
See also
primo::license::LicenseStatusFlags::Enum

Referenced by primo::dvdbuilder::Library::setLicense().