chore: checkpoint web Blender migration source, tools and docs
Some checks failed
M6 deployable RC / quick (push) Has been cancelled
M6 deployable RC / chromium (push) Has been cancelled
M6 deployable RC / release (push) Has been cancelled

Accumulated uncommitted work: GHOST Web backend, WebGL/GPU web layer,
web workflow engine and protocol, tooling, docs and task records.
Large generated evidence, user-testing archives, build snapshots and
imported test assets remain untracked.

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
mes123456
2026-11-10 11:18:01 +08:00
parent 122142c26c
commit f3e21c6b98
6887 changed files with 257154 additions and 12294 deletions

View File

@@ -18,6 +18,7 @@
#include "FFMPEGReader.h"
#include "FFMPEGWriter.h"
#include "file/FileManager.h"
#include "Exception.h"
AUD_NAMESPACE_BEGIN
@@ -57,6 +58,14 @@ std::vector<StreamInfo> FFMPEG::queryStreams(std::shared_ptr<Buffer> buffer)
std::shared_ptr<IWriter> FFMPEG::createWriter(const std::string &filename, DeviceSpecs specs, Container format, Codec codec, unsigned int bitrate)
{
#ifdef __EMSCRIPTEN__
// Preserve the linked libsndfile writer's CBR, Vorbis bitrate and PCM
// semantics. FFmpeg owns the additional containers and Ogg/FLAC only.
if(format != CONTAINER_AAC && format != CONTAINER_AC3 &&
format != CONTAINER_MP2 && format != CONTAINER_MATROSKA &&
!(format == CONTAINER_OGG && codec == CODEC_FLAC))
AUD_THROW(FileException, "This container uses the native libsndfile writer.");
#endif
return std::shared_ptr<IWriter>(new FFMPEGWriter(filename, specs, format, codec, bitrate));
}