non port: net/liveMedia/pkg-plist |
Number of commits found: 22 |
Thursday, 28 Apr 2022
|
18:21 Tobias C. Berner (tcberner)
net/liveMedia: update to 2022.04.26
2022.04.26:
- A minor update to the previous release, to ensure that we don't call
"delete[]" on an
uninitialized pointer.
2022.04.25:
- Updated "RTSPClient" so that it can optionally include a "Require:" header in
RTSP commands.
(See the definition of "setRequireValue()" in "include/RTSPClient.hh")
(Thanks to Gregory Chiapa from Thales Group for suggesting this.)
2022.04.15:
- Fixed a "fprintf()" argument-order-evaluation bug in the "mikeyParse" demo
application.
(Thanks to Taeho Kim for reporting this.)
2022.04.12:
- Updated the "openRTSP" application (RTSP command-line client) to add an option
'-L', meaning:
receive only an "application" (e.g., 'metadata') track, if present, outputting
the data
to 'stdout'. (This is analogous to the existing '-a' and '-v' options, for
receiving only
audio or video.)
2022.02.07:
- Updated the SRTP packet sending code in "MultiFramedRTPSink.cp" to not
allocate
a variable-sized buffer on the stack, because some compilers can't handle
this.
- Ensure that RTSP servers that serve SRTP do not also support streaming over
the TCP connection,
because that would add extra overhead for no benefit.
2022.01.21:
- Fixed a bug in the "groupsock" library that could cause outgoing RTP packets
to get duplicated
when a RTSP "PLAY" command is sent after a "PAUSE".
(Thanks to Yahia Benmoussa for reporting this.)
2022.01.20:
- More updates to the code for optional server SRTP streaming.
(This appears to be working now, but needs further testing before being
officially announced.)
2022.01.17:
- More updates to the code in preparation for optional server SRTP streaming.
(SRTCP transmission and reception is now working; SRTP transmission is not
working yet.)
2022.01.11:
- Fixed a minor memory leak in "RTSPClient" when receiving a SRTP stream.
- Updates to "RTPSink" in preparation for optional server SRTP streaming - not
working yet.)
2022.01.06:
- Made "GenericMediaServer::addServerMediaSubsession()" a virtual function, and
redefine it
in the subclass "RTSPServer" to call the base function, then set the
"ServerMediaSubsession"s
"streamingIsEncrypted" flag (if the RTSP server is streaming SRTP).
(This is in preparation for optional server SRTP streaming - not working yet.)
2021.12.18:
- Fixed a bug in the way that "RTSPClient" handles its two separate TCP
connections when
it does RTSP-over-HTTP. (Thanks to Laszlo Ast for noticing this.)
- Updated "RTPInterface::sendDataOverTCP()" so that if it's necessary to do a
blocking send(),
we call "makeSocketNonBlocking()" immediately after the call to "send()".
(This fixes an issue noted by Andrei Chtcherbatchenko.)
- Performed the annual update of the copyright years near the start of each file
2021.12.07:
- Added #ifndef NO_OPENSSL/#endif around "#include <openssl/err.h>" in
"liveMedia/TLSState.cpp",
so that the code will compile if you're compiling with no OpenSSL headers, and
NO_OPENSSL
defined. (Thanks to William Pfeffer for noticing this.)
2021.11.23:
- Updated the "RTSPServer::setTLSState()" function to take an optional parameter
"weServeSRTP". For now, the default value of this parameter is False, but it
will
get changed to True later, when we implement server-side SRTP.
2021.11.14:
- Updated the RTSP server implementation to (optionally) support connections via
TLS.
To enable this, call
setTLSState(<certFileName>, <privKeyFileName>);
on your newly-created "RTSPServer" object (before you enter the event loop to
start
handling requests) - where <certFileName> is the (string) pathname of a
certificate file,
and <privKeyFileName> is the (string) pathname of a private key file - both in
PEM format.
At present, this implementation does *not* serve SRTP (encrypted RTP/RTCP),
and so does
not accept "rtsps://" URLs. (This will change in the future.)
2021.11.10:
- Updated the "TLSState" interface and implementation to (1) reduce the amount
of stuff
that the compiler gets to see if you're compiling with NO_OPENSSL defined, and
(2) add a
new subclass "ServerTLSState" that will eventually be used to implement
optional
TLS connections to our RTSP server. (This has not been completed yet.)
2021.11.01:
- Split the "TLSState" class into two classes: "TLSState" (an abstract base
class),
and "ClientTLSState" (a subclass). This is in preparation for later defining
a
second subclass "ServerTLSState" that will eventually be used to implement TLS
connections
in our RTSP server.
2021.10.31:
- Updated the implementation of AES encryption/decryption (used by our client
SRTP
implementation) to use the new OpenSSL EVP interface. This makes it possible
to
use hardware acceleration (e.g., AES-NI), when it is available.
2021.10.28:
- Updated the "RTSPClient"s implementation of receiving RTP/RTCP-over-TCP so
that it will
also work over a RTSP-over-TLS (including RTSPS) connection.
2021.10.20:
- Fixed a bug in "MatroskaFileParser" that could cause delivery of data to a
downstream object
that wasn't expecting it (potentially causing an invalid memory access).
(Thanks to "pany.2011" for reporting this.)
2021.08.24:
- The final (I hope!) update to eliminate a "depends on uninitialised value"
report from 'valgrind'.
Because "recvfrom()" can be expected to fill in the 'from' address only if
it's called on a
datagram socket, we update the implementation of "RTPInterface::handleRead()"
to set the
'from' address variable to a 'dummy' value before calling "readSocket()", in
the case where
it's reading RTP/RTCP-over-TCP.
2021.08.23:
- Updated the "readSocket()" code in "GroupsockHelper.cpp" yet again to try to
eliminate
another (alleged) "depends on uninitialised value" report from 'valgrind'.
2021.08.19:
- Updated the "readSocket()" code in "GroupsockHelper.cpp" to eliminate another
possible
"depends on uninitialised value" report from 'valgrind'. (Thanks to Dmitry
Kostromin)
2021.08.18:
- Updated the "readSocket()" code in "GroupsockHelper.cpp" to eliminate a
"depends on uninitialised value" report from 'valgrind'. (Thanks to Dmitry
Kostromin)
2021.08.17:
- Updated the 'groupsock' "setPortNum()" function to not rely upon the
"ss_family" family
field, in case it's uninitialized.
2021.08.14:
- Fixed a minor bug in the previous release ("delete" should have been
"delete[]")
2021.08.13:
- Fixed a bug in "MPEG1or2Demux" that could cause a 'reading twice at the same
time" abort
when streaming from a MPEG Program Stream file. (Thanks to Ba Jinsheng for
reporting this.)
- Fixed a potential memory leak in "AC3AudioStreamFramer". (Thanks to Ba
Jinsheng for reporting this.)
2021.08.09:
- Fixed a bug in the MPEG-1 or 2 file server demultiplexors that could cause a
RTSP server
to crash if it received successive RTSP "SETUP" commands for the same track.
(Thanks to Ba Jinsheng for reporting this.)
2021.08.06:
- Fixed a bug in the Matroska and Ogg file server demultiplexors that could
cause a RTSP server
to crash if it received successive RTSP "SETUP" commands for the same track.
(Thanks to Ba Jinsheng for reporting this.)
2021.08.04:
- In the "MP3FileSource" implementation, we no longer do a recursive call to
"doEventLoop()"
when attempting to synchronously read from a MP3 file. This avoids a possible
stack overflow in the RTSP server if multiple concurrent requests are made.
(Thanks to Ba Jinsheng for reporting this.) The server still does some
synchronous reads,
when initializing, and when parsing MP3 frame headers. This should be fixed
sometime in the
future.
2021.07.20:
- If a "RTSPClient" receives a response to a RTSP "PLAY" that changes the
'scale()' or 'speed()'
of the whole session, then those parameters also need to be changed in each
subsession
(as that inheritance doesn't happen automatically).
(Thanks to a developer in China for reporting this.)
2021.07.10:
- Updated "H264or5VideoStreamFramer.cpp" once again to set the default value of
"DeltaTfiDivisor" to 2.0 for H.265, and 1.0 for everything else. (This fixes
the frame rate
for another stream supplied by Paul Westlund.)
2021.06.29:
- In the proxy server implementation, if a client closes one substream, but
there are still
other clients receiving other substream(s), then we no send a single-track
RTSP "PAUSE"
command downstream, because some back-end servers might handle that by pausing
all tracks
of the stream. So now, in this case, we don't send a RTSP "PAUSE" command at
all.
(Thanks to Jose Maria Infanzon for noting this issue.)
2021.06.25:
- Updated "H264or5VideoStreamFramer.cpp" to set the default value of
"DeltaTfiDivisor" to
1.0 (rather than 2.0), and to assume a frame rate of 30 fps (rather than 25
fps) if there
is no VPS or SPS NAL unit that specifies a different frame rate. This seems
to work the best
for most raw H.264 and H.265 video streams. (Thanks to Paul Westlund for
supplying an
example file to motivate this.)
2021.05.22:
- Fixed a bug that might cause a "REGISTER" or "DEREGISTER" command to be
handled after
the corresponding "RTSPClientConnection" object is deleted.
(Thanks to Mario Takeuchi for reporting this bug and providing a patch.)
2021.05.17:
- If a stream has no known duration, then our "a=range:" line (in the server's
SDP description)
now says "npt=now-" rather than "npt=0-". Although the latter appears to be
valid
(according to RFC 2326), it has been claimed that "ffmpeg" RTSP clients do not
handle it.
(Thanks to Dmitry Bely for raising this issue.)
2021.05.03:
- Updated the code for "getOurIPAddresses()" to check that "p->ifa_addr" is not
NULL before
we try dereferencing it. (Thanks to Thore Mehr for noting this.)
2021.04.06:
- Fixed a bad #define in "liveMedia/include/MPEG2TransportStreamAccumulator.hh"
2021.04.05:
- Updated "groupsock/GroupsockHelper.cpp" to cast the 4th argument of various
calls to
"setsockopt()" to "(const char *)" to make MSVC happy.
(Thanks to Josh Thorson for suggesting this.)
2021.03.22:
- Updated the "BasicUDPSource" class to reimplement the "maxFrameSize()" virtual
function.
This will make "StreamSource" subclasses work properly when fed from
"BasicUDPSource"s,
by telling the "StreamSource" to read as much data as possible from each
incoming datagram.
(Thanks to Josh Thorson for discovering this.)
2021.03.17:
- Removed extraneous code from "MPEG2TransportStreamAccumulator.hh". (Also,
include that
header file in "liveMedia.hh".)
2021.03.16:
- Fixed a bug in the implementation of "OnDemandServerMediaSubsession" that
could cause a
RTSP server to crash - for certain "OnDemandServerMediaSubsession" subclasses
- if it is
accessed by a malicious RTSP client. If you have a RTSP server that uses one
or more of
the following "OnDemandServerMediaSubsession" subclasses:
AC3AudioFileServerMediaSubsession
ADTSAudioFileServerMediaSubsession
AMRAudioFileServerMediaSubsession
then you should upgrade to this version of the code ASAP, as this is a
potential security
vulnerability. (Note, however, that the "DynamicRTSPServer" code used by the
"LIVE555 Media Server" is not vulnerable to this bug.)
(Thanks to Zhao Jiaxu for reporting this bug.)
2021.03.15:
- Updated the various RTSP server applications in "testProgs" to use a common
routine
"announceURL()" (implemented in "announceURL.cpp") to display the IPv4 and/or
IPv6 "rtsp://"
URLs of the stream.
- Updated the "testMP3Streamer", "testMP3Receiver",
"testMPEG1or2AudioVideoStreamer",
"testMPEG1or2VideoStreamer", and "testMPEG2TransportStreamer" demo
applications to
(optionally) stream using IPv6 multicast instead of IPv4 multicast.
(To enable this, uncomment the line that #defines USE_IPV6_MULTICAST)
- Removed from the "live555 Media Server" code the line that outputs a comment
about
supportng HTTP Live Streaming (on indexed Transport Stream files).
This is no longer supported.
2021.02.11:
- Updated the "live555 Media Server" and "testOnDemandRTSPServer" applications
to display both
IPv4 and IPv6 RTSP URLs when starting (or just an IPv4 RTSP URL if the system
is IPv4-only,
or just an IPv6 RTSP URL if the system is IPv6-only).
2021.02.10:
- Fixed a bug in "GenericMediaServer" that could potentially cause infinite
recursion in the
"live555 Media Server" application. (This had earlier been fixed in version
2019.09.30,
but had accidentally been reintroduced into a recent revision.)
- Before binding to IPv6 sockets, set the IPV6_V6ONLY flag set to 1, so that we
can have
an IPv4 socket and an IPv6 socket bound to the same port.
2021.02.09:
- Fixed a bug in "groupsock/GroupsockHelper.cpp" that could cause a compilation
error on
some systems where "sa_len" is not defined in "struct sockaddr".
2021.02.05:
- Updated the mechanism by which we figure out our (IPv4 and/or IPv6) address.
Instead of the 'multicast loopback' mechanism, we use "getifaddrs()".
(If "getifaddrs()" doesn't work, then we fall back to the
"lookup host name"->"resolve host name" method, as we did before.)
If "getifaddrs()" is not defined on your system (or if you don't want to use
it), then
you can disable its use by compiling with NO_GETIFADDRS defined.
- Updated "RTSPServer::rtspURL()" (and "RTSPServer::rtspURLPrefix()") to take an
optional
parameter "useIPv6" (default value: False). If True, the returned "rtsp://"
URL (or prefix)
uses our IPv6 address, rather than our IPv4 address.
(We also defined shortcut functions "ipv4rtspURL(Prefix)()" and
"ipv6rtspURL(Prefix)()"
that call the above functions.)
- Fixed a bug in the 'groupsock' "addressIsNull()" function for IPv6 addresses.
2021.01.29:
- Renamed the 'groupsock' function "ourIPAddress()" to "ourIPv4Address()".
(We also define a function "ourIPv6Address()", though for now this just
returns a null
IPv6 address.)
2021.01.28:
- Fixed the "config.macosx-no-openssl" configuration file (it had been
accidentally trying to
link with SSL and crypto libraries).
2021.01.21:
- Updated the "GenericMediaServer" class (and its subclasses, including
"RTSPServer" and
"DynamicRTSPServer") to use two main server sockets: one for handling
connections over IPv4;
the other for handling connections over IPv6. (Connections over IPv6 might
not be fully
working yet.)
- Changed the "groupsock" "getSourcePort()" function to take an extra "domain"
(AF_INET or AF_INET6) parameter. (This is needed in case the function's
implementation
needs to call "bind()".)
2021.01.20:
- Updated the implementations of several helper functions in
"groupsock/GroupsockHelper.cpp"
to work with IPv6 (once we support it).
2021.01.18:
- Changed the virtual function "ServerMediaSession::sdpLines()" to take an
'address family'
parameter. This lets us ensure (in "OnDemandServerMediaSubsession") that
generated SDP
descriptions for unicast streams have the correct IP address family string
("IP4" or "IP6").
- Changed the "GenericMediaServer::setUpOurSocket()" function to take a 'domain'
(AF_INET or AF_INET6) parameter, in preparation for eventual support for IPv6.
2021.01.17:
- In the "groupsock" library, changed the signature of "nullAddress()" to take
an optional 'address family' parameter.
- Removed obsolete parameters "fServerAddressForSDP" and "fPortNumForSDP" (and
member function "setServerAddressAndPortForSDP()") from "ServerMediaSubsession".
2021.01.16:
- Fixed minor bug in "RawVideoRTPSource". (Thanks to Yahia Benmoussa.)
2021.01.14:
- Changed the virtual function "GenericMediaServer::lookupServerMediaSession()"
to be
asynchronous, to allow the actual lookup to be performed within the event
loop, in response
to an event. "lookupServerMediaSession()" now takes a 'completion function'
and
'completion client data' as parameter. Once the lookup is done, the
completion function
is called - with the 'completion client data' and looked-up
"ServerMediaSession" object
as parameter.
(Thanks to Mit Shan for providing the use case that motivated this change.)
2021.01.13:
- Fixed a memory leak in the "MIKEYPayload" class. (Thanks to Micha Kalfon for
reporting this.)
2021.01.09:
- Updated the constructor for the 'groupsock' "NetAddressList" class to take an
(optional)
'address family' parameter. This can be used to lookup specifically an IPv4
or IPv6 address
for a given host name. (In 'liveMedia', updated "MediaSession.cpp" to use
this mechanism
when parsing a SDP description.)
- Updated the "ServerMediaSession::generateSDPDescription()" function to take an
'address family' parameter, so we can generate proper SDP (specifying the
proper IP address
family) even for connections from IPv6 clients. Updated the
"RTSPServer::RTSPClientConnection" constructor accordingly, to record the
address family
of the connection, for subsequent use when calling "generateSDPDescription()".
2021.01.01:
- Updated the 'groupsock' "setupDatagramSocket()" and "setupStreamSocket()" to
take
an 'address family' parameter, in preparation for eventual support for IPv6.
2020.12.23:
- Updated the implementation of "NetAddressList()" to properly return an IPv6
address
if the hostname being looked up is IPv6 only. (This is in preparation for
eventual
support for IUPv6.)
- More minor changes to the "groupsock" library in preparation for eventual
support for IPv6.
Note that the type name "netAddressBits" is no longer defined; use
"ipv4AddressBits" instead.
2020.12.13:
- Fixed a bug accidentally introduced in the previous release (Linux
distributions don't
include the field "ss_len" in their definition of "struct sockaddr_storage").
(Thanks to Scott Robinson for reporting this.)
2020.12.12:
- Updated the "groupsock" "socketJoin/LeaveGroup()" functions to take
"struct sockaddr_storage const&" as parameter, in preparation for eventual
support for IPv6.
2020.12.11:
- Updated the "MediaSession" "fSourceFilterAddr" field and
"connectionEndpointAddress()"
and "setDestinations()" member functions to use a "struct sockaddr_storage",
in preparation for eventual support for IPv6.
- More cleanup of the "groupsock" library.
2020.12.10:
- Updated the "Groupsock" constructors to take "struct sockaddr_storage const&"s
as
parameter, in preparation for eventual support for IPv6.
(Ditto for the "createGroupsock()" virtual in "OnDemandServerMediaSubsession"
and its subclasses.)
- Updated "Groupsock::groupAddress()" and "Groupsock::sourceFilterAddress()" to
return
a "struct sockaddr_storage&", in preparation for eventual support for IPv6.
2020.12.09:
- Cleaned up the "groupsock" library by removing a lot of code that was used
only for the
old "UDP multicast tunneling" mechanism (which would not work for IPv6
addresses anyway).
- Fixed a bug (accidentally introduced in the previous release) that could cause
clients'
RTCP "RR" packets to not get sent properly.
2020.12.08:
- Updated the "Groupsock::addDestination()" and
"Groupsock::changeDestinationParameters()"
functions to take a "struct sockaddr_storage" as parameter, in preparation for
eventual support for IPv6.
2020.12.07:
- Updated the interface to the 'groupsock' "GroupEId" class to use "struct
sockaddr_storage",
in preparation for eventual support for IPv6.
2020.12.06:
- Allow for parsing (and generating) "IP IP6" in SDP descriptions,
for when we later support IPv6.
2020.12.05:
- Changed "fServerAddress" in "RTSPClient" and "SIPClient" to use a "struct
sockaddr_storage",
in preparation for eventual support for IPv6.
- Performed the annual update of the copyright years near the start of each file
2020.12.04:
- Updated "RTCPInstance::(un)setSpecificRRHandler()" to take "struct
sockaddr_storage"
as parameter, in more preparation for eventual support for IPv6.
2020.12.03:
- Updated "AddressPortLookupTable"s member functions to take "struct
sockaddr_storage"
as parameter, in more preparation for eventual support for IPv6.
2020.12.02:
- Updated the "ServerMediaSubsession" "getStreamParameters()" virtual function
to
take "struct sockadd_storage" as parameters, in preparation for eventual
support for IPv6.
2020.12.01:
- More cleanup of the "groupsock" and "liveMedia" libraries,
in more preparation for eventual support for IPv6.
2020.11.30:
- Updated "RTSPServer.cpp" again to replace another "sockaddr_in" with
"sockaddr_storage",
in more preparation for eventual support for IPv6.
2020.11.29:
- Updated the 'groupsock' "GroupEId" implementation (but not yet the interface)
to
use "sockaddr_storage", in preparation for eventual support for IPv6.
2020.11.28:
- Updated the packet output routines in the "groupsock" library to use
"sockaddr_storage",
in preparation for eventual support for IPv6
2020.11.27:
- Fixed some non-portable code (not buildable on some Linux versions) in
"groupsock/GroupsockHelper.cpp" that was accidentally introduced in version
2020.11.25.
(Thanks to Olivier Binda for reporting this.)
1054484 |
Saturday, 8 Aug 2020
|
09:51 tcberner
net/liveMedia: update to 2020.08.05
2020.08.05:
- More cleanup of the implementation of "RawVideoRTPSink".
|
Saturday, 16 May 2020
|
16:12 tcberner
net/liveMedia: update to 2020.05.15
2020.05.15:
- Added a new filter class "ADTSAudioStreamDiscreteFramer" that prepends ADTS
headers to
incoming AAC audio frames. This makes the AAC audio playable (by media
players)
- Updated "openRTSP" to use a "ADTSAudioStreamDiscreteFramer" when outputting a
AAC audio
stream. This makes the resulting file playable (by media players).
- Updated the "LIVE555 HLS Proxy" to support AAC audio tracks (as well as
H.264/5 video).
2020.05.14:
- Updated "H264or5VideoStreamDiscreteFramer" to add VPS,SPS,PPS NAL units (if
known) to
the output stream, each time an "access_unit_delimiter" NAL unit is added.
This makes it more likely that the Transport Stream segments produced by the
"LIVE555 HLS Proxy" will be understandable by a client browser.
- Added support for H.265 video streams to the "LIVE555 HLS Proxy". (This has
not yet been
fully tested.)
2020.05.13:
- Made the "MPEG2TransportStreamMultiplexor" segmentation mechanism (used by
"HLSSegmenter")
more robust in case the Transport Stream PTS is not monotonic non-decreasing.
2020.04.24:
- Fixed an apparent bug in "RTSPClient" that was causing it to not always send
an
"Authorization:" header when sending a RTSP "OPTIONS" command.
(Thanks to Alexander Prohorov for reporting this.)
2020.04.12:
- Updated "config.linux-with-shared-libraries" (and "liveMedia/Makefile.tail")
to ensure
that "libssl" and "libcrypto" are linked when "libliveMedia" is built.
(Thanks to Felix Kaechele for reporting this.)
2020.04.06:
- Removed support for the classes "RTSPServerSupportingHTTPStreaming" and
"TCPStreamSinkaEUR.
These were being used (in the "LIVE555 Media Server") for streaming using
"HTTP Live Streaming" (HLS). This was always a hack; it is better to use a
dedicated
HTTP server to serve HLS segments, rather than trying to implement a HTTP
server
(serving 'virtual HLS segments) within our own (primarily RTSP) server.
If you are looking for HLS support, note that we provide a source-code demo
application
"testH264VideoToHLSSegments" that converts a (static) H.264 Elementary Stream
file to
HLS segments, and the "LIVE555 HLS Proxy", which proxies a live RTSP/RTP
stream
to HLS segments.
2020.03.06:
- Fixed a problem in "H264or5VideoStreamFramer.cpp" that was allegedly causing
problems
compiling for Windows.
2020.02.25:
- Added full support for the "LIVE555 HLS Proxy" ("live555HLSProxy")
application, which
is documented at:
http://live555.com/hlsProxy/
|
Tuesday, 7 Apr 2020
|
16:21 tcberner
net/liveMedia: update 2020.04.06
2020.04.06:
- Removed support for the classes "RTSPServerSupportingHTTPStreaming" and
"TCPStreamSink".
These were being used (in the "LIVE555 Media Server") for streaming using
"HTTP Live Streaming" (HLS). This was always a hack; it is better to use a
dedicated
HTTP server to serve HLS segments, rather than trying to implement a HTTP
server
(serving 'virtual HLS segments) within our own (primarily RTSP) server.
If you are looking for HLS support, note that we provide a source-code demo
application
"testH264VideoToHLSSegments" that converts a (static) H.264 Elementary Stream
file to
HLS segments, and the "LIVE555 HLS Proxy", which proxies a live RTSP/RTP
stream
to HLS segments.
|
Wednesday, 12 Feb 2020
|
17:54 tcberner
net/liveMedia: update to 2020.02.11
2020.02.11:
- Added support for receiving SRTP (encrypted) RTSP streams.
Currently only a few RTSP servers support SRTP. Our current RTSP client code
is known
to support two of them: The Axis and Bosch network cameras. These cameras
support SRTP
only when the RTSP connection to the camera is over a TLS connection
(something that our
RTSP client code has supported since early December 2019).
(If you manufacture a network camera (or other RTSP server) that supports
streaming SRTP,
but which our RTSP client code does not yet handle, then please let us know,
and we might
be able to update our code to support it.)
Note that this support for SRTP is currently only for RTSP *clients*.
Our RTSP server implementation does not currently support streaming (outgoing)
SRTP
However, the "LIVE555 Proxy Server" can now be used to proxy back-end SRTP
streams.
(The front-end streams will be regular RTP.)
As usual, if you don't have the "openssl" library, you can compile the code by
specifying
-DNO_OPENSSL=1
on the command line. (If you do this, you won't be able to connect to RTSP
servers over TLS,
nor access SRTP streams.)
(Many thanks to Thales Group for sponsoring this work.)
- Updated the "LIVE555 Proxy Server" so that it can recognize/handle back-end
"rtsps://" URLs.
- Removed a cast that had prevented a file from compiling on MSVC.
(Thanks to Jonathan Brady for reporting this.)
- Added a new configuration file "config.macosx-no-openssl" for Mac OS X.
|
Sunday, 12 Jan 2020
|
11:39 tcberner
net/liveMedia: update to 2020.01.11
2020.01.11:
- Added a new application "mikeyParse" to "testProgs". "mikeyParse" parses a
Base64 string
- that encodes a binary MIKEY (multimedia key management) message - and
outputs a human-readable
description of the MIKEY message. (The Base64 string could, for example, have
been used in a
SDP "a=key-mgmt:" attribute, as defined by RFC 4567.)
2020.01.10a:
- Removed a stray character that had accidentally been inserted into
"config.linux-with-shared-libraries",
preventing it from being used.
|
Thursday, 2 Jan 2020
|
09:52 tcberner
net/liveMedia: update to 2019.12.30
2019.12.30:
- Moved the definition of "class tcpStreamRecord" inside "RTPInterface.cpp", to
make it clear
that this class is intended to be used only to implement "RTPInterface".
- Added the "EXT-X-INDEPENDENT-SEGMENTS" tag to the playlist header generated by
the
"testH264VideoToHLSSegments" and "live555HLSProxy" demo applications.
2019.12.27:
- Added a new demo application "live555HLSProxy" to "testProgs".
(Because this is still 'work in progress', it is described/documented only on
our
developers' mailing list, for now.)
2019.12.13:
- In the file "win32config" (used for generating Makefiles for Windows), moved
"-DNO_OPENSSL=1" from
"C_FLAGS" to "COMPILE_OPTS", following a suggestion.
- Changed the type of the "data" parameter in the (private) member function
"RTSPClient::write()"
from "const u_int8_t*" to "const char*", following a suggestion. (Ditto for
"TLSState::write()".)
- Removed some stray (unused) files that had accidentally got left in the
"liveMedia" directory.
2019.12.10:
- Improved the handling of "npt" (Normal Play Time) times in the RTSP "Range:"
header.
(Thanks to Denis Genestier.)
2019.12.07:
- Added support to "RTSPClient" for connecting to the server via TLS (encrypted
TCP). "RTSPClient"
will now connect via TLS if the URL begins with "rtsps://", or if the URL's
port number is
322 (the port number reserved for RTSP over TLS), or if the "useTLS()"
function is called on
the "RTSPClient" object before the first RTSP command is sent.
(Note that only RTSP client support for TLS is implemented for now; our RTSP
server implementation
currently does not support connections over TLS.)
Note that because applications now link with "-lssl -lcrypto", you *must*
re-run "genMakefiles"
(to generate a new Makefile) after upgrading to this version of the software.
(If you don't wish to support RTSP-over-TLS (or if you don't have "OpenSSL"),
you can avoid this
by compling with "-DNO_OPENSSL=1")
|
Saturday, 9 Nov 2019
|
08:49 tcberner
net/liveMedia: update to 2019.11.06
2019.11.06:
- Added a new application "testH264VideoToHLSSegments" to "testProgs".
This demo application converts an H.264 (Elementary Stream) video file - named
"in.264" - into
a sequence of HLS ("HTTP Live Streaming") segments, plus a ".m3u8" file that
can be accessed
via a web browser.
2019.11.05:
- Added initial support for HLS (Apple's "HTTP Live Streaming"), by adding a new
class "HLSSegmenter"
that takes - as input - a MPEG Transport Stream, and outputs a series of MPEG
Transport Stream
files, each representing a segment of the input stream.
(A demo application that illustrates this will be added (to "testProgs")
shortly.)
- Completed the previous revision by adding support for "inserting access unit
delimiters" to
"H264or5VideoStreamDiscreteFramer" (rather than just to
"H264or5VideoStreamFramer").
2019.11.04:
- Added a new (optional) parameter to the various H.264/H.265 'framer' classes,
to tell us
whether or not to add an "access unit delimiter" NAL unit before each output
H.264/H.265 NAL unit
that begins an 'access unit'.
(The default behavior remains as before: Do not insert "access unit
delimiters".)
2019.11.03:
- Updated "MPEG2TransportStreamMultiplexor" to support 13-bit PIDs (previously,
PIDs were
assumed to be 8 bits only), and to make the output transport streams more
compatible with
HLS-compliant transport streams.
|
Sunday, 11 Aug 2019
|
13:16 riggs
Update to upstream release 2019.08.11
Details:
- Upstream release 2019.08.11 adds new feature:
demultiplexing support for MPEG Transport Streams
|
Saturday, 25 May 2019
|
17:00 tcberner
net/liveMedia: update to 2019.05.21
From the changelog:
- Added new classes "JPEG2000VideoRTPSink" and "JPEG2000VideoRTPSource" for
sending/receiving JPEG 2000 video in RTP - as specified in RFC 5371.
(Thanks to Francois Bonnissent for providing the initial implementation.)
|
Sunday, 28 Oct 2018
|
16:16 riggs
Update to upstream version 2018.10.17
Details:
- Fix potential remote exploit in the RTSP code (CVE-2018-4013)
MFH: 2018Q4
Security: CVE-2018-4013
|
Sunday, 13 Nov 2016
|
22:49 bapt
Update liveMedia 2016-11-06
Remove useless patches
Add videolan mirrors which keeps distfiles around for a while
|
Saturday, 20 Dec 2014
|
14:49 riggs
Update to upstream version 2014.12.17
|
Saturday, 22 Nov 2014
|
14:43 antoine
Cleanup plist
|
Sunday, 1 Dec 2013
|
21:58 thierry
- Stagify;
- it seems that we can now use the targets supplied by upstream,
so that the port installs now as intended and like on the
other platforms;
- switch to shared libraries, so that we shall be able to apply
minor upgrades without rebuilding its consumers;
- chase this upgrade in mplayer and vlc.
PR: ports/184035
Submitted by: /me
|
Monday, 3 Feb 2003
|
13:49 nork
o Update to 2002.02.03a.
o Clean up header file handling(only Makefile).
|
Thursday, 30 Jan 2003
|
07:46 nork
Update to 2003.01.28.
|
Friday, 17 Jan 2003
|
10:57 nork
Update to 2003.01.17.
|
Tuesday, 19 Nov 2002
|
02:46 nork
Fix pkg-plist(liveMedia/... -> live/liveMedia/...).
|
Friday, 15 Nov 2002
|
04:52 nork
Update to 2002.11.14.
|
Wednesday, 6 Nov 2002
|
07:52 nork
Update to 2002.11.04, and use PORTCOMMENT.
|
Sunday, 13 Oct 2002
|
06:58 nork
Add liveMedia(2002.10.11), a set of C++ libraries for
multimedia streaming, using open standard protocols
(RTP/RTCP and RTSP).
| Number of commits found: 22 |
|