Allow audio and video files with duration < 1s.

This commit is contained in:
John Preston 2017-03-27 15:50:40 +03:00
parent d41372dccd
commit 5666f14829
3 changed files with 24 additions and 22 deletions

View File

@ -849,6 +849,7 @@ FileLoadTask::Video PrepareForSending(const QString &fname, const QByteArray &da
auto reader = std::make_unique<internal::FFMpegReaderImplementation>(&localLocation, &localData, playId);
if (reader->start(internal::ReaderImplementation::Mode::Inspecting, seekPositionMs)) {
auto durationMs = reader->durationMs();
if (durationMs > 0) {
result.isGifv = reader->isGifv();
if (!result.isGifv) {
auto middleMs = durationMs / 2;
@ -871,6 +872,7 @@ FileLoadTask::Video PrepareForSending(const QString &fname, const QByteArray &da
result.duration = static_cast<int>(durationMs / 1000);
}
}
}
return result;
}

View File

@ -251,7 +251,7 @@ bool FileLoadTask::CheckForSong(const QString &filepath, const QByteArray &conte
}
auto media = Media::Player::PrepareForSending(filepath, content);
if (media.duration <= 0) {
if (media.duration < 0) {
return false;
}
if (!ValidateThumbDimensions(media.cover.width(), media.cover.height())) {
@ -275,7 +275,7 @@ bool FileLoadTask::CheckForVideo(const QString &filepath, const QByteArray &cont
}
auto media = Media::Clip::PrepareForSending(filepath, content);
if (media.duration <= 0) {
if (media.duration < 0) {
return false;
}

View File

@ -244,14 +244,14 @@ public:
bool animated = false;
};
struct Song {
int duration = 0;
int duration = -1;
QString title;
QString performer;
QImage cover;
};
struct Video {
bool isGifv = false;
int duration = 0;
int duration = -1;
QImage thumbnail;
};
struct MediaInformation {