From f3952fc94a0adb876bd3988b83d7a4ac870b3119 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96man?= Date: Sun, 10 Feb 2008 12:38:01 +0000 Subject: [PATCH] filename postfix can differ from internal lavf format name (we now name files .mkv instead of .matroska) --- pvr.c | 17 ++++++++--------- pvr.h | 3 ++- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/pvr.c b/pvr.c index 50cbed56..3de3a625 100644 --- a/pvr.c +++ b/pvr.c @@ -144,7 +144,6 @@ pvr_free(pvr_rec_t *pvrr) free(pvrr->pvrr_desc); free(pvrr->pvrr_printname); free(pvrr->pvrr_filename); - free(pvrr->pvrr_format); free(pvrr); } @@ -474,8 +473,8 @@ pvr_generate_filename(pvr_rec_t *pvrr) pvrr->pvrr_filename = NULL; } - free(pvrr->pvrr_format); - pvrr->pvrr_format = strdup("matroska"); + pvrr->pvrr_fmt_lavfname = "matroska"; + pvrr->pvrr_fmt_postfix = "mkv"; filename = utf8tofilename(name && name[0] ? name : "untitled"); deslashify(filename); @@ -484,7 +483,8 @@ pvr_generate_filename(pvr_rec_t *pvrr) deslashify(chname); snprintf(fullname, sizeof(fullname), "%s/%s-%s.%s", - config_get_str("pvrdir", "."), chname, filename, pvrr->pvrr_format); + config_get_str("pvrdir", "."), chname, filename, + pvrr->pvrr_fmt_postfix); while(1) { if(stat(fullname, &st) == -1) { @@ -499,8 +499,7 @@ pvr_generate_filename(pvr_rec_t *pvrr) tally++; snprintf(fullname, sizeof(fullname), "%s/%s-%s-%d.%s", config_get_str("pvrdir", "."), chname, filename, tally, - pvrr->pvrr_format); - + pvrr->pvrr_fmt_postfix); } pvrr->pvrr_filename = strdup(fullname); @@ -691,11 +690,11 @@ pvrr_transport_available(pvr_rec_t *pvrr, th_transport_t *t) /* Find lavf format */ - fmt = guess_format(pvrr->pvrr_format, NULL, NULL); + fmt = guess_format(pvrr->pvrr_fmt_lavfname, NULL, NULL); if(fmt == NULL) { syslog(LOG_ERR, - "pvr: \"%s\" - Unable to open file format \".%s\" for output", - pvrr->pvrr_printname, pvrr->pvrr_format); + "pvr: \"%s\" - Unable to open file format \"%s\" for output", + pvrr->pvrr_printname, pvrr->pvrr_fmt_lavfname); pvrr->pvrr_error = HTSTV_PVR_STATUS_FILE_ERROR; pvrr_fsm(pvrr); return; diff --git a/pvr.h b/pvr.h index 2cf5e27b..e420ac1f 100644 --- a/pvr.h +++ b/pvr.h @@ -59,7 +59,8 @@ typedef struct pvr_rec { char *pvrr_desc; /* Description in UTF-8 */ char *pvrr_printname; /* Only ASCII chars, used for logging and such */ - char *pvrr_format; /* File format trailer */ + const char *pvrr_fmt_lavfname; /* File format lavf name */ + const char *pvrr_fmt_postfix; /* File format file postfix */ char pvrr_status; /* defined in libhts/htstv.h */ char pvrr_error; /* dito - but status returned from recorder */