mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-27 23:42:58 +02:00
driver/audiodec,audiometadata: cover file handling fixed
This commit is contained in:
@@ -348,8 +348,10 @@ CBaseDec::RetCode CFfmpegDec::Decoder(FILE *_in, const CFile::FileType ft, int /
|
|||||||
//av_free(avcc);
|
//av_free(avcc);
|
||||||
|
|
||||||
DeInit();
|
DeInit();
|
||||||
if (!_meta_data->cover.empty())
|
if (_meta_data->cover_temporary && !_meta_data->cover.empty()) {
|
||||||
|
_meta_data->cover_temporary = false;
|
||||||
unlink(_meta_data->cover.c_str());
|
unlink(_meta_data->cover.c_str());
|
||||||
|
}
|
||||||
return Status;
|
return Status;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -445,6 +447,7 @@ bool CFfmpegDec::SetMetaData(FILE *_in, CFile::FileType ft, CAudioMetaData* m)
|
|||||||
fwrite(pkt->data, pkt->size, 1, f);
|
fwrite(pkt->data, pkt->size, 1, f);
|
||||||
fclose(f);
|
fclose(f);
|
||||||
m->cover = cover;
|
m->cover = cover;
|
||||||
|
m->cover_temporary = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -42,6 +42,13 @@ CAudioMetaData::CAudioMetaData()
|
|||||||
clear();
|
clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// destructor
|
||||||
|
CAudioMetaData::~CAudioMetaData()
|
||||||
|
{
|
||||||
|
if (cover_temporary && !cover.empty())
|
||||||
|
unlink(cover.c_str());
|
||||||
|
}
|
||||||
|
|
||||||
// copy constructor
|
// copy constructor
|
||||||
CAudioMetaData::CAudioMetaData( const CAudioMetaData& src )
|
CAudioMetaData::CAudioMetaData( const CAudioMetaData& src )
|
||||||
: type( src.type ), type_info( src.type_info ),
|
: type( src.type ), type_info( src.type_info ),
|
||||||
@@ -52,7 +59,7 @@ CAudioMetaData::CAudioMetaData( const CAudioMetaData& src )
|
|||||||
hasInfoOrXingTag( src.hasInfoOrXingTag ), artist( src.artist ),
|
hasInfoOrXingTag( src.hasInfoOrXingTag ), artist( src.artist ),
|
||||||
title( src.title ), album( src.album ), sc_station( src.sc_station ),
|
title( src.title ), album( src.album ), sc_station( src.sc_station ),
|
||||||
date( src.date ), genre( src.genre ), track( src.track ),cover(src.cover),
|
date( src.date ), genre( src.genre ), track( src.track ),cover(src.cover),
|
||||||
changed( src.changed )
|
changed( src.changed ), cover_temporary(false)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -84,6 +91,8 @@ void CAudioMetaData::operator=( const CAudioMetaData& src )
|
|||||||
cover = src.cover;
|
cover = src.cover;
|
||||||
sc_station = src.sc_station;
|
sc_station = src.sc_station;
|
||||||
changed = src.changed;
|
changed = src.changed;
|
||||||
|
changed = src.changed;
|
||||||
|
cover_temporary = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CAudioMetaData::clear()
|
void CAudioMetaData::clear()
|
||||||
@@ -105,6 +114,9 @@ void CAudioMetaData::clear()
|
|||||||
date.clear();
|
date.clear();
|
||||||
genre.clear();
|
genre.clear();
|
||||||
track.clear();
|
track.clear();
|
||||||
|
if (cover_temporary && !cover.empty())
|
||||||
|
unlink(cover.c_str());
|
||||||
cover.clear();
|
cover.clear();
|
||||||
|
cover_temporary=false;
|
||||||
changed=false;
|
changed=false;
|
||||||
}
|
}
|
||||||
|
@@ -44,6 +44,8 @@ class CAudioMetaData
|
|||||||
public:
|
public:
|
||||||
// constructor
|
// constructor
|
||||||
CAudioMetaData();
|
CAudioMetaData();
|
||||||
|
// destructor
|
||||||
|
~CAudioMetaData();
|
||||||
// copy constructor
|
// copy constructor
|
||||||
CAudioMetaData( const CAudioMetaData& src );
|
CAudioMetaData( const CAudioMetaData& src );
|
||||||
// assignment operator
|
// assignment operator
|
||||||
@@ -85,6 +87,7 @@ public:
|
|||||||
std::string genre;
|
std::string genre;
|
||||||
std::string track;
|
std::string track;
|
||||||
std::string cover;
|
std::string cover;
|
||||||
|
bool cover_temporary;
|
||||||
bool changed;
|
bool changed;
|
||||||
};
|
};
|
||||||
#endif /* __AUDIO_METADATA__ */
|
#endif /* __AUDIO_METADATA__ */
|
||||||
|
Reference in New Issue
Block a user