We need to create new GStreamer element which can be used as MP4 demultiplexer using Media Foundation.
Media Foundation H.264 decoder requires H.264 bitstream data with start codes. H.265 decoder requires H.265/HEVC content in Annex B format (start codes as well).
qtdemux can only provide H.264/H.265 bitstreams without start codes and such bitstream is native to MP4 container.
As a result we have two issues JDK-8329227 and JDK-8305842 when Media Foundation cannot handle data provided by qtdemux.
Media Foundation MP4 demultiplexer APIs can provide bitstreams in formats recognized by Media Foundation H.264/H.265 decoders, thus we need to switch from qtdemux to Media Foundation for MP4 demux.
Media Foundation H.264 decoder requires H.264 bitstream data with start codes. H.265 decoder requires H.265/HEVC content in Annex B format (start codes as well).
qtdemux can only provide H.264/H.265 bitstreams without start codes and such bitstream is native to MP4 container.
As a result we have two issues JDK-8329227 and JDK-8305842 when Media Foundation cannot handle data provided by qtdemux.
Media Foundation MP4 demultiplexer APIs can provide bitstreams in formats recognized by Media Foundation H.264/H.265 decoders, thus we need to switch from qtdemux to Media Foundation for MP4 demux.
- blocks
-
JDK-8329227 Seek might hang with fMP4 H.265/HEVC or H.265/HEVC over HTTP/FILE
- Open
-
JDK-8305842 Video sometimes does not start when reinitializing in Windows 11
- Open