This repository has been archived by the owner on Oct 13, 2023. It is now read-only.
Releases: zty199/NetworkClassroom_LAN
Releases · zty199/NetworkClassroom_LAN
v0.5.2: Fix Bugs
v0.5.1: Fix Bugs
Bugs Fixed:
- Fix a bug that text msg with Chinese characters can't be sent completely.
v0.5: Fix Bugs and Improve Features
Bugs Fixed:
- Fix a bug that MulticastLoopback option performs differently on different platforms;
- Fix a bug that file transfer based on TCP doesn't work on Linux;
- Fix a bug that empty message can be sent in textchat.
Features Improved:
- Use macro definition "QT_DEBUG" for local test in Debug mode.
New Features:
- Disable qDebug/qWarning output in Release version;
- Add shortcut keys, system tray icon, button icons, tool tips and translations;
- Use QtSingleApplication to ensure that only one instance would be running at the same time.
Others:
- Reorganize file structure.
v0.4.1: Fix Bugs in Linux
Bugs Fixed:
- When Local IP is bound to UDP socket, UDP Broadcast/Multicast/Loopback packets can't be received in Linux. Should use QHostAddress::AnyIPv4 instead.
Reference: 在Linux下绑定到特定IP的socket无法收到UDP广播包
Features Improved:
- Add global macro definition LOCAL_TEST in config.h for local tests. Should be disabled in actual tests in case of receiving loopback packets. (Especially in textchat dialog...)
v0.4: Realize All Features in Plan
New Features:
- Support choosing multicast network card on startup
- Support basic user login ( identified by UserName + IP )
- Support file transfer
- Support text message transfer ( simple chatroom )
- Support student sign-in sheet export
v0.3.1: History Backup for UDPMulticast based on QThread
History Backup for a deserted solution, using QThread for sending data from UDPMulticast.
This solution is much more stable than QRunnable, but will cause serious lags when image resolution is above 720p.
(Seems that on some CPU, single thread can't handle this, need at least two threads to deal with image scaling and data transporting...)
v0.3: Improve Features
Improved Features:
- Support multithread data processing to avoid lags in GUI.
- Fix bugs in available devices list refresh.
- Support 720p@60Hz video transmission (?)
v0.2: Add several new features
New Features:
- Volume Adjustment (Only audio stream is affected)
- Real-time Device List (Need refresh manually)
- ScreenPen (White Board and Screen Mark)
v0.1: Support basic multimedia transmission
Realized Features:
- Support basic multimedia transmission based on UDP Multicast , including cam, screen share, mic, stereo mixer, etc.
- Support 1080p video transmission. (Temporarily limit to 720p because of HIGH CPU and Network consumption)
- Support dynamic switch between different devices (cam / audio IO).
- Support cam resolution adjustment.
Existing Issues:
- When using wireless cards, UDP Multicast is extremely Unreliable, both sending and receiving ends meet serious packet loss. Ethernet cards recommended.
- Video frames captured from cam and screen are directly encoded into JPEG by CPU(?), source resolution higher than 720p can cause serious lags on GUI.
- Cam / Audio IO devices' names are Inaccurate on Linux (based on device drivers), most of audio IO devices shown in combobox don't work (not physically connected to any devices, just ports reserved).
- Available devices list can't refresh in real time. Choosing one that is removed may cause crash, and new devices connected won't show up.
Future Plan:
- Volume Adjustment, Real-time Device List, White Board, Screen Mark, File Transfer, Text Message Transmission, Student Sign-in, etc.