Commits
Author | Commit | Message | Commit date | Issues | |
---|---|---|---|---|---|
Christopher Rienzo | dd20e2256ce | FS-7553 added RPM packaging | FS-7553 | ||
Ken Rice | 3b2b4511b03 | move the autoreconf to earlier | |||
Mike Jerris | f621bd86825 | autotool librtmp | |||
Ken Rice | 0145d18ead0 | make the patch right | |||
Ken Rice | 14fdda7dafe | add src_tarball script | |||
William King | c952c6ae604 | Fix build for pristine-tar | |||
William King | bd3731f2f68 | Better approach | |||
Cheolho Park | a107cef9b39 | Add extended timestamp for Type 3 chunks if necessarySection 5.3.1.3 of the RTMP spec say that type 3 packets also should repeat this field. This matches what the parsing code (in RTMP_ReadPacket) does. | |||
Martin Storsjo | a1900c3e152 | Replace RTMP_PUB_ALLOC with RTMP_LF_FTCU and RTMP_LF_FAPUThis gets rid of the overlap between these two flags, shortening the code somewhat. | |||
Martin Storsjo | 4444f205545 | Simplify the logic for freeing reused strings in RTMP_CloseInstead of having a plethora of flags indicating the current state (just to avoid freeing them when closing the previous connection when reconnecting), split RTMP_Close into CloseInternal, taking a flag saying whether this is a reconnect or a normal, final RTMP_Close call. This also avoids leaks of some strings, if the whole session is closed while the authentication process is underway. | |||
Martin Storsjo | 0226b868539 | Set RTMP_PUB_ALLOC if tcUrl is allocated in PublisherAuthThis makes sure we don't free tcUrl in RTMP_Close when reconnecting, and avoids leaks (or simplifies code to avoid leaks). This fixes connecting with authentication (both adobe and limelight) when the app has been specified separately from the rest of the url. This is only a temporary step while refactoring, this is removed in a later commit. | |||
Martin Storsjo | 1a07d682650 | Reconnect directly when authenticating, don't wait for the close messageThis fixes authentication with wowza 4.x servers, which don't send any close message in the authentication process. | |||
Martin Panter | 79459a2b43f | Extended timestamp field may be present in type 3 chunk headersAs described in Adobe’s RTMP specification dated 21 Dec 2012; also: * RTMPY ticket #107, “Compressed headers also can have an extended timestamp”, http://web.archive.org/web/20120624031323/http://dev.rtmpy.org/ticket/107 * https://rarut.wordpress.com/2012/03/21/announcing-nginx-rtmp-module/ This resolves intermittent hangs, segfaults and crashes I was seeing when starting ABC News 24 stre... | |||
Martin Storsjo | dc76f0a8461 | Fix leaks in AMF objects that contain arrays | |||
Martin Storsjo | 3cd3440f0eb | Free the extra read buffer if the initial FLV buffer overflowedThis fixes a leak in this cornercase. | |||
Martin Storsjo | c89b57271fa | Correct the count of bytes written to the initial FLV bufferThis matters if the buffer overflows, when the count is used for patching the buffer back together. This happens if there are multiple video packets with zero timestamp at the start of the stream (before any audio packets), enough to fill the buffer. | |||
Martin Storsjo | a9f353c7ccf | Bump the SO_VERSION to 1Commit a9282329c3 changed the layout of the RTMP struct, making it ABI-incompatible with previous versions. | |||
Martin Storsjo | 95184863fb7 | Include -lgmp in the pkg-config file when building with gnutlsThis is required when a user of librtmp is linking statically to librtmp (when it is built with gnutls support). Ideally everything of the Requires line should be in Requires.private, and -lgmp would go into Libs.private - but if only building a static lib, they should go where they are right now instead. Keeping all of this where it is right now, for now, for simplicity. | |||
Martin Storsjo | 0d44da9f5f5 | Include the nettle/hogweed crypto libraries in the pkg-config fileThese libraries are linked and used as directly as we use gnutls itself. This fixes linking for callers if librtmp is built statically or if the linker doesn't support transitive linking. | |||
Martin Storsjo | 5ba573a9712 | Fix limelight authentication with abbreviated app namesWhen streaming to limelight, the app name is either a full "appname/subaccount" or "appname/_definst_". In the latter case, the app name can be simplified into simply "appname", but the authentication hashing assumes the /_definst_ still to be present. | |||
Martin Storsjo | ec606b685c2 | Don't do strchr on a string that isn't necessarily null-terminated | |||
Martin Storsjo | 8e3064207fa | Don't use non-public gnutls functionsThe internal functions gnutls_calc_dh_secret and gnutls_calc_dh_key have changed signature in recent gnutls versions - don't use them but manually do roughly the same as what they used to do before using only public API functions. | |||
Martin Storsjo | df6c5188424 | Remove a useless leftover commentThe variable is any random challenge, thus the byte order doesn't matter at all. | |||
Martin Storsjo | f8fcf64f4f8 | Only use one challenge value in adobe authSome servers (akamai) only include a 'challenge' parameter, no 'opaque' parameter, while others (wowza) include both 'opaque' and 'challenge'. If 'opaque' is provided, it should be used here, otherwise 'challenge', but never both. After this patch, adobe auth works against both wowza and akamai servers. | |||
Björn Axelsson | 38d3aeaeef9 | Correct the length of base64 digestsThis was broken in e42b5d09. This makes adobe auth against akamai servers work again. | |||
Howard Chu | 3a1e20c08cc | Fix b77a7dc719f8b04274db91f6344f4358a78d9c5fDumpMetadata needs to recognize ARRAY types now. | |||
Howard Chu | 19d36368f6c | PolarSSL 1.2.x compat | |||
Howard Chu | feb81c8b3e0 | Fix gnutls buildMissing semicolon in e42b5d0926b1a668d7fbd794a70f31040c5f198d | |||
Howard Chu | e79a07c8625 | PolarSSL version fixesFix commit a312ac7770207bd7d07725c1aef43725206e803a | |||
Björn Axelsson | f3e3e6b507a | Look for a fourth slash when splitting the url into app+playpath | |||
Martin Storsjo | 9d6dc72d7c4 | Simplify initializing the TLS server contextThis does the same thing, but I wasn't aware of these functions when I initially wrote this. | |||
Howard Chu | 1f6c6434d67 | More authentication cleanup | |||
Howard Chu | e42b5d0926b | Cleanup authentication codefrom commit 9ecf540e4d5bdc85c17668fa7ead93cc375111ca | |||
LRN | 883c3348940 | Fix dll name to have SO_VERSION-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 subj is attached Changes librtmp.dll into librtmp-$(SO_VERSION).dll, the same form that libtool uses. librtmp.dll is still created from librtmp-$(SO_VERSION).dll via `ln - -sf'; obviously, it makes a hardlink when called in MSYS, but that's no worse than what we have right now. Please, CC me, since i'm not subscibed to this list -----BEGIN PGP SI... | UTF-8 | ||
Björn Axelsson | 9ecf540e4d5 | Add support for limelight authentication | |||
Martin Storsjo | 630c8db7d1e | Add adobe authentication supportFrom: Sergiy <piratfm@gmail.com> To use this, add flashver=FMLE/3.0\20(compatible;\20FMSc/1.0) and pubUser=<username> pubUser=<password> to the RTMP url. This should both work for generic adobe authentication, and for publishing to akamai. | |||
Martin Storsjo | a9282329c3b | Allocate the channel arrays dynamicallyThis avoids having to allocate space for all theoretical channels if most of them aren't used. This drops the size of the full RTMP struct from over 1200 KB to 16 KB (on 64 bit), and as long as only channels with a low number are used, the amount of total allocated memory stays far below what it was before. | |||
Martin Storsjo | 0fb1d9936fb | Free skipped packets in RTMP_GetNextMediaPacket | |||
Martin Storsjo | 4a08069f086 | Use CRLF newlines consistently for all HTTP POST headers | |||
Martin Storsjo | 91921dda700 | Refill if HTTP_read indicated it needs more dataHTTP_read wants to skip past the first payload byte, so it actually needs to have at least 144 + 1 bytes buffered. This also avoids relying on the magic 144 byte constant altogether, which could easily break if servers include less reply headers. | |||
Martin Storsjo | 4ded9e05374 | Don't require 144 bytes to be buffered before proceeding with HTTP_readThis makes the code more flexible, if servers were to use smaller headers. | |||
Martin Storsjo | 895392a7161 | Buffer more data before returning successfully from HTTP_read, if neededThis fixes issues if the http header and the payload data are sent in separate packets (as they normally are), and the buffer contains the full header but none of the payload. | |||
Martin Storsjo | 8e527f61afb | Add null termination to buffers before using strstr | |||
Martin Storsjo | 002ef6f6be2 | Support rtmps in rtmpsrv | |||
Martin Storsjo | 6df3b1f2015 | Add functions for doing server side TLS initialization | |||
Martin Storsjo | f14b6ac18d7 | Replace hardcoded constants and comments with proper named constants | |||
Martin Storsjo | d70c3f677d3 | Allocate the RTMP struct dynamicallyThis struct is over 1 MB in size, and doesn't fit on the stack on OS X. | |||
Howard Chu | 294135e6eaf | Cleanup prev commit | |||
goggle1 | b77a7dc719f | Handle AMF_ECMA_ARRAY and AMF_STRICT_ARRAY objects | |||
Matthew Garrett | 1d07cfa6040 | Fix socks support for SetupURLSetupURL assigns sockshost but never parses the data. This patch factors the code out from SetupStream into a common function and adds it to SetupURL. |