X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/a7c89c1f5d2b670f51552bee927b11116ab7eecb..4d422235e5ec6b8464eef7c0763af7f63e7d1c57:/lib/dvb/metaparser.cpp diff --git a/lib/dvb/metaparser.cpp b/lib/dvb/metaparser.cpp index 7d671adf..3e3f9a79 100644 --- a/lib/dvb/metaparser.cpp +++ b/lib/dvb/metaparser.cpp @@ -5,6 +5,7 @@ eDVBMetaParser::eDVBMetaParser() { m_time_create = 0; + m_data_ok = 0; } int eDVBMetaParser::parseFile(const std::string &basename) @@ -55,12 +56,16 @@ int eDVBMetaParser::parseMeta(const std::string &tsname) case 3: m_time_create = atoi(line); break; + case 4: + m_tags = line; + break; default: break; } ++linecnt; } fclose(f); + m_data_ok = 1; return 0; } @@ -108,6 +113,8 @@ int eDVBMetaParser::parseRecordings(const std::string &filename) m_name = description; m_description = ""; m_time_create = 0; + + m_data_ok = 1; fclose(f); return 0; } @@ -115,3 +122,17 @@ int eDVBMetaParser::parseRecordings(const std::string &filename) fclose(f); return -1; } + +int eDVBMetaParser::updateMeta(const std::string &tsname) +{ + if (!m_data_ok) + return -1; + std::string filename = tsname + ".meta"; + + FILE *f = fopen(filename.c_str(), "w"); + if (!f) + return -ENOENT; + fprintf(f, "%s\n%s\n%s\n%d\n%s\n", m_ref.toString().c_str(), m_name.c_str(), m_description.c_str(), m_time_create, m_tags.c_str()); + fclose(f); + return 0; +}