Giter Site home page Giter Site logo

echoconnect's People

Contributors

a-piasta avatar lorak-mmk avatar pawela avatar riyria-was-taken avatar

Watchers

 avatar  avatar

echoconnect's Issues

Errory przy destrukcji AudioStream

Destroying AudioStream
Stopping stream from thread AudioStreamSignalsAndSlots(0x7f2bf002cbc0)
QObject::killTimer: Timers cannot be stopped from another thread
State changed signal received. New state:  StoppedState
QObject::~QObject: Timers cannot be stopped from another thread
Destroying AudioStream
Stopping stream from thread AudioStreamSignalsAndSlots(0x563d7836e940)
QObject::killTimer: Timers cannot be stopped from another thread
State changed signal received. New state:  StoppedState
QObject::~QObject: Timers cannot be stopped from another thread

Przygotować szkielet projektu

By pracować nad innymi rzeczami potrzeba samego szkieletu który da się kompilować i dalej nad nim pracować

  • Struktura folderów
  • Pliki CMake
  • Budowanie dokumentacji
  • Określenie wersjonowania
  • Puszczanie testów
  • clang-format
  • clang-tidy

Dokumentacje itp

  • Określenie wersjonowania
  • Konwencja nazw i ogólnie stylu kodowania

Obsługa mikrofonu i głośników i inne interakcje z QT

Trzeba ogarnąć jak ładnie opakować obsługę mikrofonu i głośników, tak by blackboxowo pisać na tej podstawie kod do przesyłania danych.

  • Ogarnąć odpowiednie interfejsy QT
  • Udokumentować początkowy interfejs dla uzytkownika bilbioteki (może ulec zmianie)
  • Przemysleć strukturę kodu i opisać
  • Zaklepać tego blackboxa by można było realizowac inne zadania
  • QT w shared library (event loop itp)

Opracowanie wymagań dla protokołu transmisji

Wymagania do protokołu transmisji:

  • P2P - Brak węzłów pośredniczących, brak routingu.
  • Transmisja podzielona na pakiety.
  • Korekcja błędów - sumy konrolne CRC pakietów, retransmisje przy błędach.
  • Pakiety docierają w kolejności wysłania, poprawne albo wcale (a'la TCP)
  • Brak gwarancji działania gdy więcej niż 1 nadawca korzysta z tych samych lub zbliżonych częstotliwości - innymi słowy łatwy do zakłócenia.
  • Połączeniowy. Przy nawiązaniu połączenia 1 strona nasłuchuje, druga nadaje - brak autonegocjacji kto jest kto.
  • Możliwe w przyszłości lecz nie wymagane: auto negocjacja sposobu transmisji (zmienne częstotliwości albo zmienne amplitudy ew oba naraz) oraz parametry (liczba częstotliwości/amplitud), co umożliwia autonegocjację szybkości połączenia.

Obsługa broadcast:

  • Wysyłanie pakietów bez sprecyzowanego odbiorcy
  • Brak retransmisji
  • Odbiór bez sprecyzowanego nadawcy
  • Brak autonegocjacji

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.