From b1132486d19f3f1d453ef4d6f268a1d9f2fd1c2f Mon Sep 17 00:00:00 2001 From: Mike Dilger Date: Wed, 26 Apr 2023 12:07:48 +1200 Subject: [PATCH] README.md changes for video-ffmpeg feature --- README.md | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 0b06ad56..8e026f45 100644 --- a/README.md +++ b/README.md @@ -116,7 +116,6 @@ Most dependencies are probably already installed in your base operating system. - pkg-config (debian: "pkg-config") - openssl (debian: "libssl-dev") - fontconfig (debian: "libfontconfig1-dev") -- rust-sdl2 (follow the instructions in the [readme](https://github.com/Rust-SDL2/rust-sdl2/)) #### macOS @@ -200,15 +199,25 @@ Gossip by default does not include the CJK font because it is larger than all ot There are so many of these (172) that it becomes a real pain to add them all. But if you need one, please ask (open an issue) and I'll add it for you. -### Known Issues +### Video Playback -#### Sqlite Constraint Issues (Foreign or Unique Key) +You will need to install sdl2 (follow the instructions in the [readme](https://github.com/Rust-SDL2/rust-sdl2/)) and ffmpeg on your system. + +Compile with + +```` + --features=video-ffmpeg +```` + +## Known Issues + +### Sqlite Constraint Issues (Foreign or Unique Key) First you need to locate your database file. The gossip directory is under this path: https://docs.rs/dirs/4.0.0/dirs/fn.data_dir.html The database file is `gossip.sqlite`. Then you need to install `sqlite3` on your system. Using `sqlite3` on your database file, the following kind of SQL can help you identify rows that violate foreign key constraints. -##### Error: Sql(SqliteFailure(Error { code: ConstraintViolation, extended_code: 2067 }, Some("UNIQUE constraint failed: person_relay.person, person_relay.relay"))) +#### Error: Sql(SqliteFailure(Error { code: ConstraintViolation, extended_code: 2067 }, Some("UNIQUE constraint failed: person_relay.person, person_relay.relay"))) You can find which rows are duplicated using: `select a.person, a.relay FROM person_relay a INNER JOIN person_relay b WHERE a.person=b.person AND a.relay=b.relay AND a.rowid!=b.rowid;` You'll need to delete one row from each pair (by rowid so you don't delete both of them).