diff --git a/CHANGELOG.md b/CHANGELOG.md
index f004179..1b8c781 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,7 @@
- Add frame interpolation (framerate) filter (thanks to orryverducci)
- Add -referer option for pulling HTTP streams ([PR 40](https://github.com/datarhei/restreamer-ui/pull/40), thanks to mdastgheib)
+- Add a/v filter to the publication components ([#593](https://github.com/datarhei/restreamer-ui/issues/593))
- Mod uses placeholders for ingress setups ([#560](https://github.com/datarhei/restreamer-ui/issues/560))
- Mod updates npm
- Fix the advanced settings in the MPEG-TS publication service ([#597](https://github.com/datarhei/restreamer/issues/597), thanks to orryverducci)
@@ -12,7 +13,6 @@
- Fix MUI warning
- Fix videojs skin
-
## v1.7.0 > v1.8.0
- Add Add stream key field and protocol detection to RTMP publication service
diff --git a/src/views/Publication/Add.js b/src/views/Publication/Add.js
index bd9c4bc..d3babc5 100644
--- a/src/views/Publication/Add.js
+++ b/src/views/Publication/Add.js
@@ -22,6 +22,7 @@ import Typography from '@mui/material/Typography';
import * as helper from './helper';
import * as M from '../../utils/metadata';
import EncodingSelect from '../../misc/EncodingSelect';
+import FilterSelect from '../../misc/FilterSelect';
import H from '../../utils/help';
import NotifyContext from '../../contexts/Notify';
import Paper from '../../misc/Paper';
@@ -199,6 +200,17 @@ export default function Add(props) {
});
};
+ const handleProcessingFilter = (type) => (filter) => {
+ const profiles = $settings.profiles;
+
+ profiles[0][type].filter = filter;
+
+ setSettings({
+ ...$settings,
+ profiles: profiles,
+ });
+ };
+
const handleServiceDone = async () => {
setSaving(true);
@@ -487,6 +499,16 @@ export default function Add(props) {
onChange={handleProcessing('video')}
/>
+ {$settings.profiles[0].video.encoder.coder !== 'copy' && (
+
+
+
+ )}
Audio
@@ -502,6 +524,16 @@ export default function Add(props) {
onChange={handleProcessing('audio')}
/>
+ {$settings.profiles[0].audio.encoder.coder !== 'copy' && (
+
+
+
+ )}
diff --git a/src/views/Publication/Edit.js b/src/views/Publication/Edit.js
index b866805..e34ff7a 100644
--- a/src/views/Publication/Edit.js
+++ b/src/views/Publication/Edit.js
@@ -22,6 +22,7 @@ import BoxText from '../../misc/BoxText';
import DebugModal from '../../misc/modals/Debug';
import Dialog from '../../misc/modals/Dialog';
import EncodingSelect from '../../misc/EncodingSelect';
+import FilterSelect from '../../misc/FilterSelect';
import H from '../../utils/help';
import NotifyContext from '../../contexts/Notify';
import Paper from '../../misc/Paper';
@@ -235,6 +236,21 @@ export default function Edit(props) {
}
};
+ const handleFilter = (type) => (filter, automatic) => {
+ const profiles = $settings.profiles;
+
+ profiles[0][type].filter = filter;
+
+ setSettings({
+ ...$settings,
+ profiles: profiles,
+ });
+
+ if (!automatic) {
+ setUnsavedChanges(true);
+ }
+ };
+
const handleServiceDone = async () => {
setSaving(true);
@@ -521,6 +537,16 @@ export default function Edit(props) {
onChange={handleEncoding('video')}
/>
+ {$settings.profiles[0].video.encoder.coder !== 'copy' && (
+
+
+
+ )}
Audio settings
@@ -536,6 +562,16 @@ export default function Edit(props) {
onChange={handleEncoding('audio')}
/>
+ {$settings.profiles[0].audio.encoder.coder !== 'copy' && (
+
+
+
+ )}