diff --git a/CHANGELOG.md b/CHANGELOG.md
index dce987f..830bb2d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,7 +4,11 @@
- Add EarthCam publication service
- Add other RTSP transport modes
+- Add X11grap
+- Add SDP ([PR-#47](https://github.com/datarhei/restreamer-ui/pull/47)) (thx patcarter883)
+- Add support AV1 decoding ([PR-#46](https://github.com/datarhei/restreamer-ui/pull/46)) (thx patcarter883)
- Fix wetter.com category
+- Fix chromecast ([PR-#73](https://github.com/datarhei/restreamer-ui/pull/73)) (thx badincite)
## v1.13.0 > v1.14.0
diff --git a/src/views/Edit/Sources/X11grab.js b/src/views/Edit/Sources/X11grab.js
index 1286de5..62dee4c 100644
--- a/src/views/Edit/Sources/X11grab.js
+++ b/src/views/Edit/Sources/X11grab.js
@@ -7,9 +7,11 @@ import makeStyles from '@mui/styles/makeStyles';
import Button from '@mui/material/Button';
import Grid from '@mui/material/Grid';
import RefreshIcon from '@mui/icons-material/Refresh';
+import TextField from '@mui/material/TextField';
import Typography from '@mui/material/Typography';
import FormInlineButton from '../../../misc/FormInlineButton';
+import MultiSelect from '../../../misc/MultiSelect';
import SelectCustom from '../../../misc/SelectCustom';
import Checkbox from '../../../misc/Checkbox';
import Video from '../../../misc/coders/settings/Video';
@@ -29,7 +31,7 @@ const initSettings = (initialSettings) => {
probesize: 42_000_000, // bytes
fflags: ['nobuffer'],
thread_queue_size: 1028,
- size: 'cif',
+ video_size: 'cif',
framerate: '25',
device: ':1',
draw_mouse: false,
@@ -49,11 +51,13 @@ const createInputs = (settings) => {
input.options.push('-thread_queue_size', settings.thread_queue_size);
input.options.push('-probesize', '' + settings.probesize);
- input.options.push('-fflags', settings.fflags.join(','));
+ if (settings.fflags.length !== 0) {
+ input.options.push('-fflags', '+' + settings.fflags.join('+'));
+ }
input.options.push('-f', 'x11grab');
input.options.push('-video_size', settings.size);
input.options.push('-framerate', settings.framerate);
- if (settings.follow_mouse) {
+ if (settings.follow_mouse === true) {
input.options.push('-draw_mouse', '1');
input.options.push('-follow_mouse', settings.follow_mouse);
} else {
@@ -97,7 +101,7 @@ function Source({ knownDevices = [], settings = {}, onChange = function (setting
const handleChange = (what) => (event) => {
let data = {};
- if (['device', 'framerate', 'size'].includes(what)) {
+ if (['device', 'probesize', 'fflags', 'framerate', 'video_size', 'thread_queue_size', 'follow_mouse' ].includes(what)) {
data[what] = event.target.value;
}
@@ -160,11 +164,59 @@ function Source({ knownDevices = [], settings = {}, onChange = function (setting
Refresh
+
+
+
+
+
+
+
+ Mininum {32}, default {5000000}
+
+
+
+
+
+
-
+