.type = PT_BOOL,
.id = "enabled",
.name = N_("Enabled"),
+ .desc = N_("Enable/disable the profile."),
.off = offsetof(profile_t, pro_enabled),
.get_opts = profile_class_enabled_opts,
.group = 1
.type = PT_BOOL,
.id = "default",
.name = N_("Default"),
+ .desc = N_("Set profile as default."),
.set = profile_class_default_set,
.get = profile_class_default_get,
.opts = PO_EXPERT,
.type = PT_STR,
.id = "name",
.name = N_("Profile name"),
+ .desc = N_("The name of the profile."),
.off = offsetof(profile_t, pro_name),
.get_opts = profile_class_name_opts,
.notify = idnode_notify_title_changed,
.type = PT_STR,
.id = "comment",
.name = N_("Comment"),
+ .desc = N_("Free-form text field. You can enter whatever you "
+ "like here."),
.off = offsetof(profile_t, pro_comment),
.group = 1
},
.type = PT_INT,
.id = "priority",
.name = N_("Default priority"),
+ .desc = N_("If no specific priority was requested. This "
+ "gives certain users a higher priority by "
+ "assigning a streaming profile with a higher "
+ "priority."),
.list = profile_class_priority_list,
.off = offsetof(profile_t, pro_prio),
.opts = PO_SORTKEY | PO_ADVANCED,
.type = PT_INT,
.id = "fpriority",
.name = N_("Force priority"),
+ .desc = N_("Prevent the default priority from being overridden."),
.off = offsetof(profile_t, pro_fprio),
.opts = PO_EXPERT,
.group = 1
.type = PT_INT,
.id = "timeout",
.name = N_("Timeout (sec) (0=infinite)"),
+ .desc = N_("The number of seconds to wait for a stream to "
+ "start."),
.off = offsetof(profile_t, pro_timeout),
.def.i = 5,
.group = 1
.type = PT_BOOL,
.id = "restart",
.name = N_("Restart on error"),
+ .desc = N_("Restart streaming on error. This is useful for "
+ "DVR so a recording isn't aborted if an error occurs."),
.off = offsetof(profile_t, pro_restart),
.opts = PO_EXPERT,
.def.i = 0,
.type = PT_BOOL,
.id = "contaccess",
.name = N_("Continue even if descrambling fails"),
+ .desc = N_("Don't abort streaming when an encrypted stream "
+ "can't be decrypted by a CA client that normally "
+ "should be able to decrypt the stream."),
.off = offsetof(profile_t, pro_contaccess),
.opts = PO_EXPERT,
.def.i = 1,
.type = PT_INT,
.id = "svfilter",
.name = N_("Preferred service video type"),
+ .desc = N_("The selected video type should be preferred when "
+ "multiple services are available for a channel."),
.list = profile_class_svfilter_list,
.off = offsetof(profile_t, pro_svfilter),
.opts = PO_SORTKEY | PO_ADVANCED,
.type = PT_BOOL,
.id = "rewrite_pmt",
.name = N_("Rewrite PMT"),
+ .desc = N_("Rewrite PMT (Program Map Table) packets to only "
+ "include information about the currently streamed "
+ "service."),
.off = offsetof(profile_mpegts_t, pro_rewrite_pmt),
.opts = PO_ADVANCED,
.def.i = 1,
.type = PT_BOOL,
.id = "rewrite_pat",
.name = N_("Rewrite PAT"),
+ .desc = N_("Rewrite PAT (Program Association Table) packets "
+ "to only include information about the currently "
+ "streamed service."),
.off = offsetof(profile_mpegts_t, pro_rewrite_pat),
.opts = PO_ADVANCED,
.def.i = 1,
.type = PT_BOOL,
.id = "rewrite_sdt",
.name = N_("Rewrite SDT"),
+ .desc = N_("Rewrite SDT (Service Description Table) packets "
+ "to only include information about the currently "
+ "streamed service."),
.off = offsetof(profile_mpegts_t, pro_rewrite_sdt),
.opts = PO_ADVANCED,
.def.i = 1,
.type = PT_BOOL,
.id = "rewrite_eit",
.name = N_("Rewrite EIT"),
+ .desc = N_("Rewrite EIT (Event Information Table) packets "
+ "to only include information about the currently "
+ "streamed service."),
.off = offsetof(profile_mpegts_t, pro_rewrite_eit),
.opts = PO_ADVANCED,
.def.i = 1,
.type = PT_INT,
.id = "container",
.name = N_("Container"),
+ .desc = N_("Container to use for the transcoded stream."),
.off = offsetof(profile_transcode_t, pro_mc),
.def.i = MC_MATROSKA,
.list = profile_class_mc_list,
.type = PT_U32,
.id = "resolution",
.name = N_("Resolution (height)"),
+ .desc = N_("Vertical resolution (height) of the output video "
+ "stream. Horizontal resolution is adjusted "
+ "automatically to preserve aspect ratio. When set "
+ "to 0, the input resolution is used."),
.off = offsetof(profile_transcode_t, pro_resolution),
.def.u32 = 384,
.group = 2
.type = PT_U32,
.id = "channels",
.name = N_("Channels"),
+ .desc = N_("Audio channel layout."),
.off = offsetof(profile_transcode_t, pro_channels),
.def.u32 = 2,
.list = profile_class_channels_list,
.type = PT_STR,
.id = "language",
.name = N_("Language"),
+ .desc = N_("Audio language (Not currently used)."),
.off = offsetof(profile_transcode_t, pro_language),
.list = profile_class_language_list,
.opts = PO_ADVANCED,
.type = PT_STR,
.id = "vcodec",
.name = N_("Video codec"),
+ .desc = N_("Video codec to use for the transcode. "
+ "\"Do not use\" will disable video output."),
.off = offsetof(profile_transcode_t, pro_vcodec),
.def.s = "libx264",
.list = profile_class_vcodec_list,
.type = PT_STR,
.id = "vcodec_preset",
.name = N_("Video codec preset"),
+ .desc = N_("Video codec preset to use for transcoding."),
.off = offsetof(profile_transcode_t, pro_vcodec_preset),
.def.s = "faster",
.list = profile_class_vcodec_preset_list,
.type = PT_U32,
.id = "vbitrate",
.name = N_("Video bitrate (kb/s) (0=auto)"),
+ .desc = N_("Bitrate to use for the transcode. See help for "
+ "detailed information."),
.off = offsetof(profile_transcode_t, pro_vbitrate),
.opts = PO_ADVANCED,
.def.u32 = 0,
.type = PT_STR,
.id = "acodec",
.name = N_("Audio codec"),
+ .desc = N_("Audio codec to use for the transcode. \"Do not "
+ "use \" will disable audio output."),
.off = offsetof(profile_transcode_t, pro_acodec),
.def.s = "libvorbis",
.list = profile_class_acodec_list,
.type = PT_U32,
.id = "abitrate",
.name = N_("Audio bitrate (kb/s) (0=auto)"),
+ .desc = N_("Audio birate to use for transcoding."),
.off = offsetof(profile_transcode_t, pro_abitrate),
.opts = PO_ADVANCED,
.def.u32 = 0,
.type = PT_STR,
.id = "scodec",
.name = N_("Subtitle codec"),
+ .desc = N_("Select subtitle codec to use for transcoding."),
.off = offsetof(profile_transcode_t, pro_scodec),
.def.s = "",
.list = profile_class_scodec_list,