diff --git a/src/plugins/image/image.tsx b/src/plugins/image/image.tsx
index c96be3ab..c46bad01 100644
--- a/src/plugins/image/image.tsx
+++ b/src/plugins/image/image.tsx
@@ -48,15 +48,15 @@ class SimpleImageRenderer extends React.Component<
return (
- ERROR: file {dataBlob && dataBlob.name ? JSON.stringify(dataBlob.name) : ""} not found
+ ERROR: file {dataBlob?.name ? JSON.stringify(dataBlob.name) : ""} not found
);
}
- if (dataBlob.name.endsWith(".svg")) {
- dataBlob = new Blob([dataBlob], { type: "image/svg+xml" }) as ExtBlob;
- }
if (this.objUrl == null) {
+ if (dataBlob.name?.endsWith(".svg")) {
+ dataBlob = new Blob([dataBlob], { type: "image/svg+xml" }) as ExtBlob;
+ }
this.objUrl = URL.createObjectURL(dataBlob);
}
let opts = this.props.opts;
diff --git a/src/plugins/media/media.less b/src/plugins/media/media.less
index 8b3b929a..a77d18b2 100644
--- a/src/plugins/media/media.less
+++ b/src/plugins/media/media.less
@@ -4,4 +4,11 @@
align-items: center;
justify-content: center;
padding-top: var(--termpad);
+
+ video {
+ object-fit: contain;
+ object-position: center;
+ height: 100%;
+ width: auto;
+ }
}
diff --git a/src/plugins/media/media.tsx b/src/plugins/media/media.tsx
index 7a904761..aad7b985 100644
--- a/src/plugins/media/media.tsx
+++ b/src/plugins/media/media.tsx
@@ -4,6 +4,7 @@
import * as React from "react";
import * as mobx from "mobx";
import * as mobxReact from "mobx-react";
+import * as util from "@/util/util";
import { GlobalModel } from "@/models";
import "./media.less";
@@ -32,14 +33,24 @@ class SimpleMediaRenderer extends React.Component<
);
}
- let videoUrl = GlobalModel.getBaseHostPort() + this.props.lineState["wave:fileurl"];
+ let fileUrl = this.props.lineState["wave:fileurl"];
+ if (util.isBlank(fileUrl)) {
+ return (
+
+
+ ERROR: no fileurl found (please use `mediaview` to view media files)
+
+
+ );
+ }
+ let fullVideoUrl = GlobalModel.getBaseHostPort() + fileUrl;
const opts = this.props.opts;
- const maxHeight = opts.maxSize.height - 10;
- const maxWidth = opts.maxSize.width - 10;
+ const height = opts.idealSize.height - 10;
+ const width = opts.maxSize.width - 10;
return (
-