Commit graph

125 commits

Author SHA1 Message Date
Ivan Tivonenko
0a13ec1119 Fix compile warnings
Co-authored-by: Thulinma <jaron@vietors.com>
2022-10-27 14:50:38 +02:00
Phencys
3734c90544 Added support for raw passthrough of MPEG2-TS data 2022-08-08 11:00:39 +02:00
Thulinma
bb84a5a20c Marco why 😭 2022-01-23 00:03:54 +01:00
Thulinma
ad4c1abd0b Playlist support fixed 2021-12-24 15:09:36 +01:00
Marco van Dijk
3d9ed39396 setstreamVodField and streamLiveField no longer mutually exclusive
Removed curPage map from IO. bufferFrame now creates this variable locally and passes it to bufferStart, bufferFinalize and bufferNext
Fix keyNum selection with mixed live & VoD data
Fix bufferframe to handle mixed VoD and live
Added check to bufferFrame to not start the countdown timer for removing live pages
Fixed countdown timer being set using keyNum rather than pageNumber, which resulted in the wrong pages being deleted
livePage variable moved from static to private variable to correctly handle multithreaded inputs

# Conflicts:
#	src/io.cpp
#	src/output/output.cpp
2021-11-22 15:38:58 +01:00
Thulinma
6733bf2a20 Fixed all ARM-related issues/warnings/etc 2021-11-04 18:49:27 +01:00
Thulinma
0a3c399a98 Ensure key and page numbers are all 32 bits, robustify/fix packet handling internals 2021-10-19 22:29:42 +02:00
Thulinma
63acbb1ddb Fixes for DTSC metadata handling 2021-10-19 22:29:41 +02:00
Thulinma
6307428476 Attempt to make cygwin compiles work again 2021-10-19 22:29:41 +02:00
Thulinma
027bd5f9da Speed optimizes:
- MP4 output optimizations
- DTSC::Meta::getPageNumberForTime speedup
- RelAccX class speedup
- Generic output optimizations
2021-10-19 22:29:41 +02:00
Thulinma
b4b76850e3 Added check for removed data page during data ingest, shuts down binary to prevent crash 2021-10-19 22:29:41 +02:00
Thulinma
ffd22a45d4 Fix for slow buffer shutdown 2021-10-19 22:29:41 +02:00
Thulinma
cbe4f017f3 Auto-update width/height/fps for livestreamed H264 and VP8 tracks, regardless of input type 2021-10-19 22:29:40 +02:00
Thulinma
0af992d405 Various fixes, among which:
- Fixed segfault when attempting to initialseek on disconnected streams
- Fix 100% CPU bug in controller's stats code
- WebRTC UDP bind socket improvements
- Several segfault fixes
- Increased packet reordering buffer size from 30 to 150 packets
- Tweaks to default output/buffer behaviour for incoming pushes
- Added message for load balancer checks
- Fixed HLS content type
- Stats fixes
- Exit reason fixes
- Fixed socket IP address detection
- Fixed non-string arguments for stream settings
- Added caching for getConnectedBinHost()
- Added WebRTC playback rate control
- Added/completed VP8/VP9 support to WebRTC/RTSP
- Added live seek option to WebRTC
- Fixed seek to exactly newest timestamp
- Fixed HLS input

# Conflicts:
#	lib/defines.h
#	src/input/input.cpp
2021-10-19 22:29:40 +02:00
Phencys
2b99f2f5ea New Meta commit 2021-10-19 22:29:40 +02:00
DDVTech
fccf66fba2 Restyle 2021-10-19 22:29:40 +02:00
Thulinma
5f8518fe23 Fix playlist support not resuming on the correct page number and/or with the correct timestamp 2021-02-19 22:45:51 +01:00
Marco
c9cd529927 Fixes for playlist support
Track matching fixes:
  Input MP4 is not getting dimensions properly, causing resume to not find a collision
    Fixed by overwriting dimensions when media frames are read
  Detecting collisions using track identifier can cause issues (ie audio_AAC_2ch_44100hz_eng VS audio_AAC_2ch_44100hz)
    Fixed by matching using init data, then check by identifier if there is more than 1 match

Fixed buffering code for playlist streams, ensuring correct page creation:
  In resume mode new pages do not get created, but existing one(s) fill up
    Keyframes were not being recognized due to them being deleted during track switching
      Fixed by changing negotiationProxy::bufferNext:
        Removed seemingly unnecessary function which cleared keyframes
      Lastly, the offset of a resumed track seems wrong
        Added to NegotiationProxy::continueNegotiate
          pagesByTrack[tid][firstPage].curOffset = 0;
        Added to negotiationProxy::bufferSinglePacket:
          if (!pagesByTrack[tid][currentPageNum].curOffset) {
            pagesByTrack[tid][currentPageNum].firstTime = packet.getTime();
          }

Fixed numbering for keys from the buffer when accepting tracks (was amount of buffered keys, not last key number)
2021-02-19 22:43:26 +01:00
Thulinma
3e607d864e Merge branch 'development' into LTS_development 2020-02-12 12:19:23 +01:00
Thulinma
9743f405a3 Sudden timestamp jump message 2020-02-12 12:19:12 +01:00
Erik Zandvliet
907be3b1f4 Playlist support 2020-01-23 13:43:51 +01:00
Thulinma
c60f96a1cb Merge branch 'development' into LTS_development 2019-10-03 15:26:18 +02:00
Thulinma
d9c3b636c8 Fixed live pull inputs in Windows/Cygwin 2019-10-03 15:26:08 +02:00
Thulinma
cc9e970ea3 More backports from Pro edition, among which HTTPS/TLS support 2019-07-13 14:23:59 +02:00
Thulinma
a7a09d22bd Fixed ts_stream class, improved HLS input, added https support to HLS analyser 2019-01-24 14:41:28 +01:00
Thulinma
57e40fe921 Merge branch 'development' into LTS_development 2018-10-11 15:15:40 +02:00
Thulinma
2aa86ccf01 Fix memory leak in live inputs 2018-10-11 15:15:18 +02:00
Thulinma
6ddc4adadf Merge branch 'development' into LTS_development 2018-08-27 14:17:20 +02:00
Ramoe
33488da329 Added singular mode override for inputs 2018-08-27 14:13:25 +02:00
Thulinma
b4741abbc2 Merge branch 'development' into LTS_development 2018-08-23 15:31:39 +02:00
Thulinma
2f477a4ef9 Fixed audio key setting 2018-08-23 15:31:10 +02:00
Thulinma
18f9d2682f Added some helpful high-level debug messages to generic IO handlers, fixed missing track selection when streaming live input 2018-07-20 14:22:46 +02:00
Thulinma
fe7cee8666 Added some helpful high-level debug messages to generic IO handlers, fixed missing track selection when streaming live input 2018-07-18 21:22:28 +02:00
Thulinma
ee195f0089 Implemented basic version of DTSC::RetimedPacket 2018-07-04 11:50:53 +02:00
Thulinma
a984243d56 Implemented basic version of DTSC::RetimedPacket 2018-07-04 11:48:36 +02:00
Thulinma
ad29c297c2 Merge branch 'development' into LTS_development
# Conflicts:
#	lib/bitfields.h
#	src/input/input.cpp
#	src/output/output.cpp
2018-01-24 19:12:05 +01:00
Thulinma
363df9aacf Moved getMainSelectedTrack to InOutBase class 2018-01-24 18:59:29 +01:00
Thulinma
15801aa7b7 Track mapping and deletion fixes 2017-11-28 11:08:30 +01:00
Thulinma
2dd62e0dce Track mapping and deletion fixes 2017-11-28 10:54:52 +01:00
Thulinma
310e7bc5f9 Merge branch 'development' into LTS_development
# Conflicts:
#	src/output/output.cpp
2017-11-23 14:08:32 +01:00
Thulinma
c47162bf03 Changed page delete failure message into error message 2017-11-23 14:06:42 +01:00
Thulinma
8353939d8a Changed bufferLivePacket and related functions to have const DTSC::Packet references 2017-07-28 18:58:34 +02:00
Thulinma
dc8bae8dd3 Merge branch 'development' into LTS_development
# Conflicts:
#	src/output/output.h
2017-07-28 18:39:49 +02:00
Thulinma
3eb69ff2c7 Changed bufferLivePacket and related functions to have const DTSC::Packet references 2017-07-28 18:38:54 +02:00
Thulinma
ca65576510 Merge branch 'development' into LTS_development 2017-06-09 21:40:30 +02:00
Thulinma
bb5d0dda11 Removed bullshit timestamp checks, no longer relevant/needed. 2017-06-09 21:40:11 +02:00
Thulinma
14d15ce318 Fixed compile warnings 2017-05-16 14:25:20 +02:00
Thulinma
0c87ba1f7b Merge branch 'development' into LTS_development
# Conflicts:
#	src/input/input.cpp
2017-05-12 12:48:58 +02:00
Erik Zandvliet
c56b72dbca Added a couple of IO convenience functions 2017-05-12 12:44:14 +02:00
Thulinma
7629b00a4c Merge branch 'development' into LTS_development 2017-04-18 12:32:39 +02:00