X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/c5245596a287e0519d0684eb10ea111da75b9360..896d63aa5605a9b6ef641830eae4038addc53c60:/lib/dvb/metaparser.cpp diff --git a/lib/dvb/metaparser.cpp b/lib/dvb/metaparser.cpp index aadc0bc8..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,9 +113,26 @@ int eDVBMetaParser::parseRecordings(const std::string &filename) m_name = description; m_description = ""; m_time_create = 0; + + m_data_ok = 1; + fclose(f); return 0; } } 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; +}