JAVA 17 / 77 PUBLIC TYPES
CodecMedia API 1.2.2
A lightweight Java library for inspecting, validating, and processing media files.
me.tamkungz.codecmedia3
classCodecMediaEntry point for creating CodecMedia engine instances.interfaceCodecMediaEngineCore media engine contract used by {@link CodecMedia}.
<p>
The current default implementation focuses on practical probing/validation workflows and
light-weight conversion routing. For richer embedded metadata (for example MP3 album cover/APIC),
callers should treat {@link #probe(Path)} output as technical media info rather than full tag extraction.classCodecMediaExceptionpublic class CodecMediaException extends Exception
me.tamkungz.codecmedia.internal.audio.aiff3
me.tamkungz.codecmedia.internal.audio1
me.tamkungz.codecmedia.internal.audio.flac3
me.tamkungz.codecmedia.internal.audio.mp36
classMp3Codecpublic final class Mp3CodecclassMp3DecoderMP3 decoder that decodes into PCM signed 16-bit little-endian samples.
<p>
The implementation relies on Java Sound SPI available at runtime.classMp3Id3v1TagMinimal ID3v1 reader/writer for embedded MP3 metadata support.classMp3Parserpublic final class Mp3ParserrecordMp3ProbeInfopublic record Mp3ProbeInfo( String codec, int sampleRate, int channels, int bitrateKbps, BitrateMode bitrateMode, long durationMillis )classPureJavaMp3DecoderPlaceholder for a future true pure-Java MPEG Layer III decoder.
<p>
Older versions synthesized a 440 Hz PCM timeline from MP3 frame cadence.
That output was not decoded source audio, so this backend now fails closed
instead of returning misleading/corrupted media.
me.tamkungz.codecmedia.internal.audio.ogg3
me.tamkungz.codecmedia.internal.audio.wav3
me.tamkungz.codecmedia.internal.convert13
interfaceConversionHubpublic interface ConversionHubrecordConversionRequestpublic record ConversionRequest( Path input, Path output, String sourceExtension, String targetExtension, MediaType sourceMediaType, MediaType targetMediaType, ConversionOptions options )enumConversionRoutepublic enum ConversionRouteclassConversionRouteResolverpublic final class ConversionRouteResolverclassDefaultConversionHubpublic final class DefaultConversionHub implements ConversionHubclassImageTranscodeConverterpublic final class ImageTranscodeConverter implements MediaConverterclassJavaSoundAudioTranscodeConverterAudio transcoder that uses JDK Java Sound SPI only (zero external dependencies).
<p>
Supported target formats are constrained to Java Sound built-ins:
WAV/AIFF/AU.interfaceMediaConverterpublic interface MediaConverterclassMp3PcmWavConverterMP3 decoder-backed converter for MP3 -> PCM/WAV.classMp4MovToM4aRemuxConverterContainer-level audio remux path for MP4/MOV -> M4A without audio re-encode.
<p>
Implementation strategy is intentionally conservative and zero-dependency:
rewrite non-audio {@code trak} boxes in {@code moov} to {@code free} (same size),
preserving all chunk offsets and payload bytes.classSameFormatCopyConverterpublic final class SameFormatCopyConverter implements MediaConverterclassUnsupportedRouteConverterpublic final class UnsupportedRouteConverter implements MediaConverterclassWavPcmConverterWAV <-> PCM converter.
<p>
- WAV -> PCM: extracts raw PCM payload from the WAV {@code data} chunk.
- PCM -> WAV: wraps raw PCM bytes in a canonical 16-bit LE PCM WAV container
(44.1kHz, stereo).
me.tamkungz.codecmedia.internal.image.bmp3
me.tamkungz.codecmedia.internal.image.heif3
classHeifCodecHEIF/HEIC/AVIF decode/encode bridge backed by {@link ImageIO}.
<p>
Note: standard JDK runtimes may not include HEIF/AVIF reader/writer SPI by default.
A compatible ImageIO plugin may be required at runtime.classHeifParserpublic final class HeifParserrecordHeifProbeInfopublic record HeifProbeInfo( String majorBrand, Integer width, Integer height, Integer bitDepth )
me.tamkungz.codecmedia.internal.image.jpeg3
me.tamkungz.codecmedia.internal.image.png3
me.tamkungz.codecmedia.internal.image.tiff3
classTiffCodecTIFF decode/encode bridge backed by {@link ImageIO}.
<p>
Note: standard JDK runtimes may not include TIFF reader/writer SPI by default.
A compatible ImageIO plugin may be required at runtime.classTiffParserpublic final class TiffParserrecordTiffProbeInfopublic record TiffProbeInfo( int width, int height, Integer bitDepth )
me.tamkungz.codecmedia.internal.image.webp3
classWebpCodecWebP image decode/encode bridge backed by {@link ImageIO}.
<p>
Note: standard JDK runtimes do not always include a WebP reader/writer SPI.
A compatible plugin must be present in the runtime for decode/encode to work.classWebpParserpublic final class WebpParserrecordWebpProbeInfopublic record WebpProbeInfo( int width, int height, Integer bitDepth )
me.tamkungz.codecmedia.internal.io1
me.tamkungz.codecmedia.internal1
me.tamkungz.codecmedia.internal.video.mov3
classMovCodecpublic final class MovCodecclassMovParserpublic final class MovParserrecordMovProbeInfopublic record MovProbeInfo( Long durationMillis, Integer width, Integer height, String majorBrand, String videoCodec, String audioCodec, Integer sampleRate, Integer channels, Double frameRate, Integer videoBitrateKbps, Integer audioBitrateKbps, Integer bitDepth, String displayAspectRatio )
me.tamkungz.codecmedia.internal.video.mp43
classMp4Codecpublic final class Mp4CodecclassMp4Parserpublic final class Mp4ParserrecordMp4ProbeInfopublic record Mp4ProbeInfo( Long durationMillis, Integer width, Integer height, String majorBrand, String videoCodec, String audioCodec, Integer sampleRate, Integer channels, Double frameRate, Integer videoBitrateKbps, Integer audioBitrateKbps, Integer bitDepth, String displayAspectRatio )
me.tamkungz.codecmedia.internal.video.webm3
classWebmCodecpublic final class WebmCodecclassWebmParserpublic final class WebmParserrecordWebmProbeInfopublic record WebmProbeInfo( Long durationMillis, Integer width, Integer height, String videoCodec, String audioCodec, Integer sampleRate, Integer channels, Double frameRate, Integer videoBitrateKbps, Integer audioBitrateKbps, Integer bitDepth, String displayAspectRatio )
me.tamkungz.codecmedia.model9
recordConversionResultpublic record ConversionResult( Path outputFile, String format, boolean reencoded )recordExtractionResultpublic record ExtractionResult( Path outputFile, String format )enumMediaTypepublic enum MediaTyperecordMetadatapublic record Metadata(Map<String, String> entries)recordPlaybackResultpublic record PlaybackResult( boolean started, String backend, MediaType mediaType, /** Optional diagnostic message; may be {@code null} when no message is produced. */ String message )recordProbeResultpublic record ProbeResult( Path input, String mimeType, String extension, MediaType mediaType, Long durationMillis, List<StreamInfo> streams, Map<String, String> tags )recordStreamInfopublic record StreamInfo( int index, StreamKind kind, String codec, Integer bitrateKbps, Integer sampleRate, Integer channels, Integer width, Integer height, Double frameRate )enumStreamKindpublic enum StreamKindrecordValidationResultpublic record ValidationResult( boolean valid, List<String> warnings, List<String> errors )
me.tamkungz.codecmedia.options4
recordAudioExtractOptionspublic record AudioExtractOptions( String targetFormat, Integer bitrateKbps, Integer streamIndex )recordConversionOptionspublic record ConversionOptions( String targetFormat, String preset, boolean overwrite )recordPlaybackOptionspublic record PlaybackOptions( boolean dryRun, boolean allowExternalApp )recordValidationOptionspublic record ValidationOptions( boolean strict, long maxBytes )
No matching public types.