Write more tags in MKV files #127
This commit is contained in:
parent
2bd91b3110
commit
ecbccb25bf
4 changed files with 33 additions and 5 deletions
|
@ -93,7 +93,6 @@ typedef struct dvr_entry {
|
|||
|
||||
gtimer_t de_timer;
|
||||
|
||||
|
||||
/**
|
||||
* These meta fields will stay valid as long as reference count > 0
|
||||
*/
|
||||
|
@ -115,6 +114,7 @@ typedef struct dvr_entry {
|
|||
dvr_prio_t de_pri;
|
||||
|
||||
epg_episode_t de_episode;
|
||||
uint8_t de_content_type;
|
||||
|
||||
uint32_t de_dont_reschedule;
|
||||
|
||||
|
@ -216,7 +216,8 @@ dvr_entry_t *dvr_entry_create_by_event(event_t *e, const char *creator,
|
|||
dvr_entry_t *dvr_entry_create(channel_t *ch, time_t start, time_t stop,
|
||||
const char *title, const char *description,
|
||||
const char *creator, dvr_autorec_entry_t *dae,
|
||||
epg_episode_t *ee, dvr_prio_t pri);
|
||||
epg_episode_t *ee, uint8_t content_type,
|
||||
dvr_prio_t pri);
|
||||
|
||||
void dvr_init(void);
|
||||
|
||||
|
|
|
@ -249,7 +249,7 @@ dvr_entry_t *
|
|||
dvr_entry_create(channel_t *ch, time_t start, time_t stop,
|
||||
const char *title, const char *description,
|
||||
const char *creator, dvr_autorec_entry_t *dae,
|
||||
epg_episode_t *ee, dvr_prio_t pri)
|
||||
epg_episode_t *ee, uint8_t content_type, dvr_prio_t pri)
|
||||
{
|
||||
dvr_entry_t *de;
|
||||
char tbuf[30];
|
||||
|
@ -288,6 +288,8 @@ dvr_entry_create(channel_t *ch, time_t start, time_t stop,
|
|||
tvh_str_set(&de->de_episode.ee_onscreen, ee->ee_onscreen);
|
||||
}
|
||||
|
||||
de->de_content_type = content_type;
|
||||
|
||||
dvr_entry_link(de);
|
||||
|
||||
t = de->de_start - de->de_start_extra * 60;
|
||||
|
@ -321,7 +323,7 @@ dvr_entry_create_by_event(event_t *e, const char *creator,
|
|||
|
||||
return dvr_entry_create(e->e_channel, e->e_start, e->e_stop,
|
||||
e->e_title, e->e_desc, creator, dae, &e->e_episode,
|
||||
pri);
|
||||
e->e_content_type, pri);
|
||||
}
|
||||
|
||||
|
||||
|
@ -471,6 +473,8 @@ dvr_db_load_one(htsmsg_t *c, int id)
|
|||
if(!htsmsg_get_s32(c, "part", &d))
|
||||
de->de_episode.ee_part = d;
|
||||
|
||||
de->de_content_type = htsmsg_get_u32_or_default(c, "contenttype", 0);
|
||||
|
||||
tvh_str_set(&de->de_episode.ee_onscreen, htsmsg_get_str(c, "episodename"));
|
||||
|
||||
dvr_entry_link(de);
|
||||
|
@ -547,6 +551,9 @@ dvr_entry_save(dvr_entry_t *de)
|
|||
if(de->de_episode.ee_onscreen)
|
||||
htsmsg_add_str(m, "episodename", de->de_episode.ee_onscreen);
|
||||
|
||||
if(de->de_content_type)
|
||||
htsmsg_add_u32(m, "contenttype", de->de_content_type);
|
||||
|
||||
hts_settings_save(m, "dvr/log/%d", de->de_id);
|
||||
htsmsg_destroy(m);
|
||||
}
|
||||
|
|
|
@ -419,9 +419,29 @@ static htsbuf_queue_t *
|
|||
mk_build_metadata(const dvr_entry_t *de)
|
||||
{
|
||||
htsbuf_queue_t *q = htsbuf_queue_alloc(0);
|
||||
char datestr[64];
|
||||
struct tm tm;
|
||||
|
||||
localtime_r(&de->de_start, &tm);
|
||||
|
||||
snprintf(datestr, sizeof(datestr),
|
||||
"%04d-%02d-%02d %02d:%02d:%02d",
|
||||
tm.tm_year + 1900,
|
||||
tm.tm_mon + 1,
|
||||
tm.tm_mday,
|
||||
tm.tm_hour,
|
||||
tm.tm_min,
|
||||
tm.tm_sec);
|
||||
|
||||
addtag(q, build_tag_string("DATE_BROADCASTED", datestr, 0, NULL));
|
||||
|
||||
addtag(q, build_tag_string("ORIGINAL_MEDIA_TYPE", "TV", 0, NULL));
|
||||
|
||||
if(de->de_content_type)
|
||||
addtag(q, build_tag_string("CONTENT_TYPE",
|
||||
epg_content_group_get_name(de->de_content_type),
|
||||
0, NULL));
|
||||
|
||||
if(de->de_channel != NULL)
|
||||
addtag(q, build_tag_string("TVCHANNEL", de->de_channel->ch_name, 0, NULL));
|
||||
|
||||
|
|
|
@ -788,7 +788,7 @@ extjs_dvr(http_connection_t *hc, const char *remain, void *opaque)
|
|||
stop += 86400;
|
||||
|
||||
dvr_entry_create(ch, start, stop, title, NULL, hc->hc_representative,
|
||||
NULL, NULL, dvr_pri2val(pri));
|
||||
NULL, NULL, 0, dvr_pri2val(pri));
|
||||
|
||||
out = htsmsg_create_map();
|
||||
htsmsg_add_u32(out, "success", 1);
|
||||
|
|
Loading…
Add table
Reference in a new issue