Skip to main content

Publishing

Location: src/MovieMakerCore/Publishing/

Publishing is the "Save movie" flow: render the timeline, encode it to a service-specific profile, optionally upload, and report progress.

FileRole
PublishJob.cpp/.hThe background job object: owns an encode/upload pipeline instance, progress reporting, cancelation
PublishClasses.cpp/.hService implementations — local-file export and per-service publishing classes
PublishDialogs.cppThe publish summary/progress dialog

Pipeline​

Current state​

The publish pipeline is partially reconstructed — by design and documented:

  • Encode stage produces verified test frames, not real video. The transcode pipeline runs, produces deterministic output, and reports correct progress — but the encoder writes frames generated for verification, not a real codec stream. This is the largest remaining reconstruction gap (Stub Design).
  • Upload services route through WLXMediaPublishSubscribe.dll (module page); the original service plugins (WLFacebookPlugin, WLFlickrPlugin, WLVimeoPlugin, WLYouTubePlugin) were separate binaries — see analysis/PublishPlugins/ and analysis/PublishPluginsInterop/ for their binary analysis.

Historical note: SkyDrive​

The original shipped "SkyDrive" (pre-OneDrive branding) as a publish target — a historical anachronism preserved in resources (Quirk #7).