aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--remuxer/src/muxers/mp4.rs9
-rw-r--r--stream/src/dash.rs4
-rw-r--r--stream/src/fragment.rs2
-rw-r--r--stream/src/hls.rs2
-rw-r--r--stream/src/stream_info.rs2
-rw-r--r--stream/types/src/lib.rs10
6 files changed, 17 insertions, 12 deletions
diff --git a/remuxer/src/muxers/mp4.rs b/remuxer/src/muxers/mp4.rs
index 8d33f7f..c3191d1 100644
--- a/remuxer/src/muxers/mp4.rs
+++ b/remuxer/src/muxers/mp4.rs
@@ -16,7 +16,7 @@ impl FragmentMuxer for MP4FragmentMuxer {
out.write(FileType {
major_brand: *b"mp41",
minor_version: 0,
- compatible_brands: &[],
+ compatible_brands: &[*b"iso6"],
});
out.write(Movie(|moov| {
moov.write(MovieHeader {
@@ -35,7 +35,12 @@ impl FragmentMuxer for MP4FragmentMuxer {
name: "blub".to_string(),
});
mdia.write(MediaInformation(|minf| {
- minf.write(DataInformation(|dinf| {}));
+ minf.write(VideoMediaHandler {
+ ..Default::default()
+ });
+ minf.write(DataInformation(|dinf| {
+ dinf.write(DataReference { entries: &[] });
+ }));
minf.write(SampleTable(|stbl| {}));
}));
}));
diff --git a/stream/src/dash.rs b/stream/src/dash.rs
index b9b9b3a..53db3c4 100644
--- a/stream/src/dash.rs
+++ b/stream/src/dash.rs
@@ -147,8 +147,8 @@ pub fn dash(sinfo: &SMediaInfo) -> Result<Box<dyn Read + Send + Sync>> {
fn choose_container(format: &StreamFormatInfo) -> StreamContainer {
if format.containers.contains(&StreamContainer::WebM) {
StreamContainer::WebM
- } else if format.containers.contains(&StreamContainer::MPEG4) {
- StreamContainer::MPEG4
+ } else if format.containers.contains(&StreamContainer::MP4) {
+ StreamContainer::MP4
} else {
StreamContainer::Matroska
}
diff --git a/stream/src/fragment.rs b/stream/src/fragment.rs
index 57561b2..ff50cf3 100644
--- a/stream/src/fragment.rs
+++ b/stream/src/fragment.rs
@@ -220,7 +220,7 @@ fn map_container(container: StreamContainer) -> ContainerFormat {
StreamContainer::WebM => ContainerFormat::Webm,
StreamContainer::Matroska => ContainerFormat::Matroska,
StreamContainer::WebVTT => todo!(),
- StreamContainer::MPEG4 => ContainerFormat::MP4,
+ StreamContainer::MP4 => ContainerFormat::MP4,
StreamContainer::JVTT => todo!(),
}
}
diff --git a/stream/src/hls.rs b/stream/src/hls.rs
index 571d2b3..70a0d3c 100644
--- a/stream/src/hls.rs
+++ b/stream/src/hls.rs
@@ -70,7 +70,7 @@ pub fn hls_variant_stream(
StreamSpec::Fragment {
track,
index,
- container: StreamContainer::MPEG4,
+ container: StreamContainer::MP4,
format,
}
.to_query()
diff --git a/stream/src/stream_info.rs b/stream/src/stream_info.rs
index adebda8..c1f09ce 100644
--- a/stream/src/stream_info.rs
+++ b/stream/src/stream_info.rs
@@ -184,7 +184,7 @@ fn containers_by_codec(codec: &str) -> Vec<StreamContainer> {
use StreamContainer::*;
match codec {
"V_VP8" | "V_VP9" | "V_AV1" | "A_OPUS" | "A_VORBIS" => vec![Matroska, WebM],
- "V_MPEG4/ISO/AVC" | "V_MPEGH/ISO/HEVC" | "A_AAC" => vec![Matroska, MPEG4],
+ "V_MPEG4/ISO/AVC" | "V_MPEGH/ISO/HEVC" | "A_AAC" => vec![Matroska, MP4],
"S_TEXT/UTF8" | "S_TEXT/WEBVTT" => vec![Matroska, WebVTT, WebM, JVTT],
_ => vec![Matroska],
}
diff --git a/stream/types/src/lib.rs b/stream/types/src/lib.rs
index 50227ec..6a4fc79 100644
--- a/stream/types/src/lib.rs
+++ b/stream/types/src/lib.rs
@@ -134,7 +134,7 @@ pub enum StreamContainer {
WebM,
Matroska,
WebVTT,
- MPEG4,
+ MP4,
JVTT,
}
@@ -145,8 +145,8 @@ impl StreamContainer {
(Self::WebM, _) => "video/webm",
(Self::Matroska, TrackKind::Audio) => "audio/x-matroska",
(Self::Matroska, _) => "video/x-matroska",
- (Self::MPEG4, TrackKind::Audio) => "audio/mp4",
- (Self::MPEG4, _) => "video/mp4",
+ (Self::MP4, TrackKind::Audio) => "audio/mp4",
+ (Self::MP4, _) => "video/mp4",
(Self::WebVTT, _) => "text/vtt",
(Self::JVTT, _) => "application/jellything-vtt+json",
}
@@ -296,7 +296,7 @@ impl Display for StreamContainer {
StreamContainer::Matroska => "matroska",
StreamContainer::WebVTT => "webvtt",
StreamContainer::JVTT => "jvtt",
- StreamContainer::MPEG4 => "mpeg4",
+ StreamContainer::MP4 => "mp4",
})
}
}
@@ -308,7 +308,7 @@ impl FromStr for StreamContainer {
"matroska" => StreamContainer::Matroska,
"webvtt" => StreamContainer::WebVTT,
"jvtt" => StreamContainer::JVTT,
- "mpeg4" => StreamContainer::MPEG4,
+ "mp4" => StreamContainer::MP4,
_ => return Err(()),
})
}