Improve:app get thumbnail file.
This commit is contained in:
parent
f5366a4bcf
commit
1a06ed0494
|
@ -17,6 +17,7 @@
|
||||||
#include "IFilesManager.h"
|
#include "IFilesManager.h"
|
||||||
#include "ILog.h"
|
#include "ILog.h"
|
||||||
#include "IStorageManager.h"
|
#include "IStorageManager.h"
|
||||||
|
#include "MediaTask.h"
|
||||||
#include "StatusCode.h"
|
#include "StatusCode.h"
|
||||||
#include <vector>
|
#include <vector>
|
||||||
AppMonitor::AppMonitor() : mMicStatus(SwitchStatus::END)
|
AppMonitor::AppMonitor() : mMicStatus(SwitchStatus::END)
|
||||||
|
@ -170,7 +171,10 @@ StatusCode AppMonitor::UploadFile(AppUploadFile ¶m)
|
||||||
}
|
}
|
||||||
StatusCode AppMonitor::GetThumbnail(AppGetThumbnail ¶m)
|
StatusCode AppMonitor::GetThumbnail(AppGetThumbnail ¶m)
|
||||||
{
|
{
|
||||||
param.mThumbnail = "./34a396526922a33e97906920dbfef2a5.jpg";
|
// param.mThumbnail = "./34a396526922a33e97906920dbfef2a5.jpg";
|
||||||
|
const std::string webServerDocumentRoot = IAppManager::GetInstance()->GetFilesSavingRootPath();
|
||||||
|
const std::string thumbnailFile = MediaTask::GetThumbnailNameByTargetName(param.mFile);
|
||||||
|
param.mThumbnail = RemovePrefix(thumbnailFile, webServerDocumentRoot);
|
||||||
return CreateStatusCode(STATUS_CODE_OK);
|
return CreateStatusCode(STATUS_CODE_OK);
|
||||||
}
|
}
|
||||||
SdCardStatus AppMonitor::SdCardStatusConvert(const StorageEvent &event)
|
SdCardStatus AppMonitor::SdCardStatusConvert(const StorageEvent &event)
|
||||||
|
|
|
@ -62,23 +62,23 @@ std::string MediaTask::GetTargetNameForSaving(void)
|
||||||
}
|
}
|
||||||
std::string MediaTask::GetThumbnailNameForSaving(const std::string &targetName)
|
std::string MediaTask::GetThumbnailNameForSaving(const std::string &targetName)
|
||||||
{
|
{
|
||||||
std::string thumbnailName = targetName;
|
return MediaTask::GetThumbnailNameByTargetName(targetName);
|
||||||
size_t dot_pos = thumbnailName.find_last_of('.');
|
// std::string thumbnailName = targetName;
|
||||||
if (dot_pos != std::string::npos) {
|
// size_t dot_pos = thumbnailName.find_last_of('.');
|
||||||
std::string extension = thumbnailName.substr(dot_pos);
|
// if (dot_pos != std::string::npos) {
|
||||||
if (extension == ".mp4") {
|
// std::string extension = thumbnailName.substr(dot_pos);
|
||||||
thumbnailName.replace(dot_pos, extension.length(), ".jpeg");
|
// if (extension == ".mp4") {
|
||||||
LogInfo("GetThumbnailNameForSaving: %s\n", thumbnailName.c_str());
|
// thumbnailName.replace(dot_pos, extension.length(), "-thumbnail.jpeg");
|
||||||
return thumbnailName;
|
// LogInfo("GetThumbnailNameForSaving: %s\n", thumbnailName.c_str());
|
||||||
}
|
// return thumbnailName;
|
||||||
}
|
// }
|
||||||
LogError("TargetName is not a mp4 file.\n");
|
// }
|
||||||
std::string unknowFile = "unknow";
|
// LogError("TargetName is not a mp4 file.\n");
|
||||||
return unknowFile;
|
// std::string unknowFile = "unknow";
|
||||||
|
// return unknowFile;
|
||||||
}
|
}
|
||||||
int MediaTask::GetVideoDuration_ms(void)
|
int MediaTask::GetVideoDuration_ms(void)
|
||||||
{
|
{
|
||||||
return 1000 * 60;
|
|
||||||
return DEFAULT_VIDEO_DURATION_MS;
|
return DEFAULT_VIDEO_DURATION_MS;
|
||||||
}
|
}
|
||||||
void MediaTask::Response(const std::vector<MediaTaskResponse> &response)
|
void MediaTask::Response(const std::vector<MediaTaskResponse> &response)
|
||||||
|
@ -95,4 +95,20 @@ void MediaTask::Response(const std::vector<MediaTaskResponse> &response)
|
||||||
.mCreateTime_s = mCreateTime_s,
|
.mCreateTime_s = mCreateTime_s,
|
||||||
};
|
};
|
||||||
iniator->TaskResponse(info);
|
iniator->TaskResponse(info);
|
||||||
|
}
|
||||||
|
std::string MediaTask::GetThumbnailNameByTargetName(const std::string &targetName)
|
||||||
|
{
|
||||||
|
std::string thumbnailName = targetName;
|
||||||
|
size_t dot_pos = thumbnailName.find_last_of('.');
|
||||||
|
if (dot_pos != std::string::npos) {
|
||||||
|
std::string extension = thumbnailName.substr(dot_pos);
|
||||||
|
if (extension == ".mp4") {
|
||||||
|
thumbnailName.replace(dot_pos, extension.length(), "-thumbnail.jpeg");
|
||||||
|
LogInfo("GetThumbnailNameForSaving: %s\n", thumbnailName.c_str());
|
||||||
|
return thumbnailName;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
LogError("TargetName is not a mp4 file.\n");
|
||||||
|
std::string unknowFile = "unknow";
|
||||||
|
return unknowFile;
|
||||||
}
|
}
|
|
@ -46,6 +46,9 @@ public:
|
||||||
int GetVideoDuration_ms(void) override;
|
int GetVideoDuration_ms(void) override;
|
||||||
void Response(const std::vector<MediaTaskResponse> &response) override;
|
void Response(const std::vector<MediaTaskResponse> &response) override;
|
||||||
|
|
||||||
|
public:
|
||||||
|
static std::string GetThumbnailNameByTargetName(const std::string &targetName);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const MediaTaskType mType;
|
const MediaTaskType mType;
|
||||||
const InternalStateEvent mBindEvent;
|
const InternalStateEvent mBindEvent;
|
||||||
|
|
|
@ -20,6 +20,8 @@
|
||||||
#include "IMissionManager.h"
|
#include "IMissionManager.h"
|
||||||
#include "IStateMachine.h"
|
#include "IStateMachine.h"
|
||||||
#include "IStorageManager.h"
|
#include "IStorageManager.h"
|
||||||
|
#include "LedControl.h"
|
||||||
|
#include "LedsHandle.h"
|
||||||
#include "MissionStateMachine.h"
|
#include "MissionStateMachine.h"
|
||||||
#include "StatusCode.h"
|
#include "StatusCode.h"
|
||||||
#include <functional>
|
#include <functional>
|
||||||
|
|
|
@ -93,10 +93,10 @@ void CameraHalTest::MockReportMediaStream(void)
|
||||||
{
|
{
|
||||||
mTaskRuning = true;
|
mTaskRuning = true;
|
||||||
if (nullptr != mReadH264File) {
|
if (nullptr != mReadH264File) {
|
||||||
IStartReadFile(mReadH264File, TEST_SOURCE_PATH "/support_test/video_sync.h264");
|
IStartReadFile(mReadH264File, TEST_SOURCE_PATH "/support_test/chip.h264");
|
||||||
}
|
}
|
||||||
if (nullptr != mReadG711aFile) {
|
if (nullptr != mReadG711aFile) {
|
||||||
IStartReadFile(mReadG711aFile, TEST_SOURCE_PATH "/support_test/audio_sync.g711a");
|
IStartReadFile(mReadG711aFile, TEST_SOURCE_PATH "/support_test/chip.g711a");
|
||||||
}
|
}
|
||||||
while (mTaskRuning) {
|
while (mTaskRuning) {
|
||||||
std::unique_lock<std::mutex> lock(mMutex);
|
std::unique_lock<std::mutex> lock(mMutex);
|
||||||
|
|
1
test/support_test/chip.g711a
Executable file
1
test/support_test/chip.g711a
Executable file
File diff suppressed because one or more lines are too long
BIN
test/support_test/chip.h264
Executable file
BIN
test/support_test/chip.h264
Executable file
Binary file not shown.
|
@ -170,6 +170,9 @@ void FfmpegMuxStreamV2::GetAVPacketDataCallback(AVPacket *pkt)
|
||||||
}
|
}
|
||||||
void FfmpegMuxStreamV2::CalculatingDuration(const unsigned long long &pts_us)
|
void FfmpegMuxStreamV2::CalculatingDuration(const unsigned long long &pts_us)
|
||||||
{
|
{
|
||||||
|
// LogInfo("mFileMuxingDuration ms: %lld, mOutputFileInfo->mDuration_ms: %lld\n",
|
||||||
|
// mFileMuxingDuration_us / 1000,
|
||||||
|
// mOutputFileInfo->mDuration_ms);
|
||||||
mFileMuxingDuration_us = pts_us - mStartPts;
|
mFileMuxingDuration_us = pts_us - mStartPts;
|
||||||
if (mFileMuxingDuration_us / 1000 >= mOutputFileInfo->mDuration_ms) {
|
if (mFileMuxingDuration_us / 1000 >= mOutputFileInfo->mDuration_ms) {
|
||||||
LogInfo("Muxing file finished, duration: %lld ms\n", mFileMuxingDuration_us / 1000);
|
LogInfo("Muxing file finished, duration: %lld ms\n", mFileMuxingDuration_us / 1000);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user