22#ifndef __BG_STREAMINFO_H_
23#define __BG_STREAMINFO_H_
26#include <gavl/metadata.h>
27#include <gavl/chapterlist.h>
29#include <libxml/tree.h>
30#include <libxml/parser.h>
154 gavl_metadata_t * ret);
164 gavl_metadata_t * ret);
249#define BG_TRACK_SEEKABLE (1<<0)
250#define BG_TRACK_PAUSABLE (1<<1)
299 const char * location);
void bg_xml_2_metadata(xmlDocPtr xml_doc, xmlNodePtr xml_metadata, gavl_metadata_t *ret)
Convert a libxml2 node into a metadata struct.
void bg_chapter_list_set_default_names(gavl_chapter_list_t *list)
Set default chapter names.
char * bg_metadata_to_string(const gavl_metadata_t *m, int use_tabs)
Convert metadata to a humanized string.
int bg_metadata_get_year(const gavl_metadata_t *m)
Try to get the year from the metadata.
gavl_time_t bg_track_info_get_duration(const bg_track_info_t *info)
Get the duration of a track.
void bg_metadata_2_xml(xmlNodePtr xml_metadata, gavl_metadata_t *ret)
Convert a metadata struct into a libxml2 node.
void bg_chapter_list_2_xml(gavl_chapter_list_t *list, xmlNodePtr xml_list)
Convert a chapter list into a libxml2 node.
bg_parameter_info_t * bg_metadata_get_parameters(gavl_metadata_t *m)
Get parameters for editing metadata.
gavl_chapter_list_t * bg_xml_2_chapter_list(xmlDocPtr xml_doc, xmlNodePtr xml_list)
Convert libxml2 node into a chapter list.
void bg_chapter_list_save(gavl_chapter_list_t *list, const char *filename)
Save a chapter list to a file.
bg_parameter_info_t * bg_metadata_get_parameters_common(gavl_metadata_t *m)
Get parameters for editing metadata.
char * bg_get_track_name_default(const char *location, int track, int num_tracks)
Get a track name from the filename/URL.
char * bg_create_track_name(const gavl_metadata_t *m, const char *format)
Create trackname from metadata.
gavl_chapter_list_t * bg_chapter_list_load(const char *filename)
Load a chapter list from a file.
void bg_set_track_name_default(bg_track_info_t *info, const char *location)
Set the track name from the filename/URL.
void bg_track_info_free(bg_track_info_t *info)
Free all allocated memory in a track info.
void bg_metadata_set_parameter(void *data, const char *name, const bg_parameter_value_t *v)
Change metadata by setting parameters.
Description of an audio stream.
Definition streaminfo.h:54
int64_t duration
Duration in timescale tics.
Definition streaminfo.h:59
int64_t pts_offset
First timestamp.
Definition streaminfo.h:60
gavl_audio_format_t format
Format (invalid until after the start function was called)
Definition streaminfo.h:55
gavl_metadata_t m
Metadata.
Definition streaminfo.h:57
Description of an overlay stream.
Definition streaminfo.h:95
gavl_metadata_t m
Metadata.
Definition streaminfo.h:96
gavl_video_format_t format
Format of overlay subtitles.
Definition streaminfo.h:97
int64_t duration
Duration in timescale tics.
Definition streaminfo.h:98
Parmeter description.
Definition parameter.h:135
Description of a text stream.
Definition streaminfo.h:83
int64_t duration
Duration in timescale tics.
Definition streaminfo.h:86
gavl_metadata_t m
Metadata.
Definition streaminfo.h:84
Track info.
Definition streaminfo.h:256
int flags
BG_TRACK_ flags defined above.
Definition streaminfo.h:257
bg_audio_info_t * audio_streams
Audio streams.
Definition streaminfo.h:264
int num_text_streams
Number of text streams.
Definition streaminfo.h:261
bg_text_info_t * text_streams
Subtitle streams.
Definition streaminfo.h:266
gavl_chapter_list_t * chapter_list
Chapter list (or NULL)
Definition streaminfo.h:273
bg_overlay_info_t * overlay_streams
Subtitle streams.
Definition streaminfo.h:267
int num_overlay_streams
Number of overlay streams.
Definition streaminfo.h:262
bg_video_info_t * video_streams
Video streams.
Definition streaminfo.h:265
int num_audio_streams
Number of audio streams.
Definition streaminfo.h:259
gavl_metadata_t metadata
Metadata (optional)
Definition streaminfo.h:269
int num_video_streams
Number of video streams.
Definition streaminfo.h:260
Description of a video stream.
Definition streaminfo.h:69
gavl_metadata_t m
Metadata.
Definition streaminfo.h:71
gavl_video_format_t format
Format (invalid before the start function was called)
Definition streaminfo.h:70
int64_t duration
Duration in timescale tics.
Definition streaminfo.h:73
int64_t pts_offset
First timestamp.
Definition streaminfo.h:74
Container for a parameter value.
Definition parameter.h:83