68 Commits

Author SHA1 Message Date
Seven Du
3d90d752fc FS-8406 #resolve #comment improvement to drop video packets on slow rtmp link 2016-03-18 09:05:45 +08:00
William King
ab0f1423fb Merge pull request #545 in FS/freeswitch from ~PAULCUTTLER/freeswitch:feature/FS-7924-making-mod_rtmp-compatible-with-adobe to master
* commit '86d849c54e26951e313d1dcb4b220055f79aacc0':
  FS-7924: [mod_rtmp] Modify initStream & createStream responses
  Making mod_rtmp compatible with Adobe Media Server
2015-10-14 09:43:33 -05:00
Anthony Minessale
f8b19b7485 FS-8190 #resolve [When using nixevent, freeswitch stops sending us certain custom event that were NOT part of the nixevent command] 2015-09-21 18:00:32 -05:00
Paul Cuttler
53c37d2385 Making mod_rtmp compatible with Adobe Media Server
Adobe Media Server connects differently to mod_rtmp than the way
Flash player connects. The RTMP publish handler rtmp_i_publish
message needs to match the RTMP specification, and a new initStream
handler is required.

This patch modifies the rtmp_i_publish handler to send an onStatus
message to Adobe Media Server that includes an object with "level",
"code" and "description" fields.

The initStream message is sent by Adobe Media Server to notify Freeswitch
of the stream ID for the publish stream. This cannot clash with the play
stream ID so the initStream handler can simply increment the next_streamid
field. The initStream message is undocumented in the RTMP specification.

The transaction ID for onStatus messages has been modified to 0 instead
of 1 to match with the RTMP specification.

FS-7924 #resolve
2015-08-14 06:06:43 +10:00
Seven Du
1f25952008 FS-7585 add bandwidth settings to flash video 2015-06-04 23:33:00 +08:00
Seven Du
55a955787c disable debug log 2015-05-30 06:40:47 +08:00
Seven Du
5da76480ba detect more deep too see if we should offer video 2015-05-30 06:36:54 +08:00
Seven Du
81ad7562a3 CID:1301050 fix possible NULL 2015-05-29 12:12:07 +08:00
Seven Du
0c819da6f5 FS-7585: add rtmp video support 2015-05-28 12:47:34 -05:00
Seven Du
e187479784 FS-7585: spaces to tabs and clean up trilling spaces 2015-05-28 12:47:34 -05:00
Anthony Minessale
7c294f242f FS-7504: allow <modname>.<codecname> support so multiple modules can exist for the same codec 2015-05-28 12:47:13 -05:00
Anthony Minessale
0dc48df426 cannot send call state about state destroy, this is an internal state and the session is already destoyed. Bug from original implementation 2015-02-09 22:34:04 -06:00
Seven Du
d199060249 FS-7036 #resolve #comment fixed in master
originate takes care of new thread on outgoging calls, extra thread_launch causes race
2015-01-09 08:01:19 +08:00
Travis Cross
acb439ca03 Avoid leaking memory while iterating hash tables
`switch_core_hash_first` allocates an iterator on each call that is
never freed except when the hash table is empty.

By using `switch_core_hash_first_iter` we allocate only one iterator,
and that iterator is freed after the last item is processed.
2014-08-30 03:49:51 +00:00
Anthony Minessale
7151d6acea FS-6402 part 2 2014-04-02 03:21:37 +05:00
Anthony Minessale
5c0cff70b3 FS-6402 --resolve 2014-04-02 01:20:19 +05:00
Anthony Minessale
804ef7709d change from sqlite hash to newly added one 2014-03-09 00:37:17 +05:00
Seven Du
e88ad70563 FS-6235 try this patch, this will send you a DOWN state at last 2014-02-22 09:44:19 +08:00
Anthony Minessale
49f9bd01bf fix some contention in rtmp 2013-11-17 06:51:33 +05:00
Anthony Minessale
4a172402d2 some refactoring and plumbing for 1.4 2013-10-16 02:24:32 +05:00
Anthony Minessale
2b5e18af41 revert 2013-09-06 00:50:17 +05:00
Anthony Minessale
471772489a revert 2013-09-06 00:48:18 +05:00
Anthony Minessale
e195b8512d revert f24d1cde3db80df630bee348adb06f4f7051fd8a 2013-09-06 00:32:03 +05:00
Nathan Neulinger
32adc789f6 make noexpandtab explicit in all vim modelines other than xml files 2013-06-25 11:50:17 -05:00
Travis Cross
065043ce67 Remove unused variable in mod_rtmp
Unused variables break the build with recent versions of gcc and
clang.
2013-05-26 04:53:16 +00:00
William King
480407e5f3 Removing logically dead code 2013-05-24 19:59:32 -07:00
Travis Cross
d2f3a3114e Spelling fix 2013-05-21 02:00:43 +00:00
William King
58e205ccdb how...? 2013-05-17 11:36:31 -07:00
William King
cfeb6aaf54 Since there isn't neutral ground, on the rtmp state callback we actually have to force the write lock of the session, but we only need a try lock on removing the session from the rsession->session_hash. This removes a deadlock caused when we had to enforce with locks that the rsession couldn't be destroyed if the FS session was in the middle of a hangup. 2013-05-17 11:36:30 -07:00
William King
f24d1cde3d Seems the session wasn't coming to the hangup in a locked state. 2013-05-17 11:36:30 -07:00
William King
36f198e883 Seems having a read lock still prevents a write lock to be taken, even if the thread that is trying to get the write lock currently has the read lock. 2013-05-17 11:36:29 -07:00
William King
9b0212ab59 Include the write lock since we're changing the tech_pvt 2013-05-17 11:36:29 -07:00
William King
b3117e8f88 FS-5395: --resolve Resolve another mod_rtmp crash where oh specific hangup scenarios there would be a free of variable that wasn't ever malloced 2013-05-08 16:54:05 -07:00
William King
0d5888de2f Revert "fixed stuck mod_rtmp session when the call is killed from fs side, such as using uuid_kill"
This reverts commit d8edc031faa41d4e570aad1e347a0ed6c0d6c1d8.

Conflicts:
	src/mod/endpoints/mod_rtmp/mod_rtmp.c
2013-05-07 16:04:54 -07:00
William King
7ce7cbda57 FS-4332: --resolve 2013-05-03 00:01:24 -05:00
William King
17781cba1c FS-5240: --resolve Please test 2013-05-02 23:57:50 -05:00
William King
66d1755b06 If the rsession is null, then don't try to unlock it, since that'll just result in a segfault. 2013-04-23 17:52:33 -07:00
William King
5c87754e42 fixed rtmp active calls count 2013-04-23 17:52:33 -07:00
William King
1dd86108fb added rsession check before comparing its state. commented out active sessions loop 2013-04-23 17:52:32 -07:00
William King
f7cb641d17 Updating the contributor tags 2013-04-23 17:52:32 -07:00
William King
fa6d465711 Another variable name standardization 2013-04-23 17:52:32 -07:00
William King
e379a596b2 Should resolve the last of the rsession -> session and session -> rsession on_destroy race condition issues
Conflicts:
	src/mod/endpoints/mod_rtmp/mod_rtmp.c
2013-04-23 17:52:32 -07:00
William King
fec463fdfe White space cleanup and variable naming standardization 2013-04-23 17:52:32 -07:00
William King
ad3a5a3572 Standardizing on rsession to reference rtmp_session_t
Conflicts:
	src/mod/endpoints/mod_rtmp/mod_rtmp.c
2013-04-23 17:52:32 -07:00
William King
a687274308 Cleaning up and standardizing variable name to rsession if the session referenced is an rtmp_session_t 2013-04-23 17:52:32 -07:00
William King
f81d17c1e2 added debugging to print ip and port of rtmp connection as well as tie the rtmp session and fs session together 2013-04-23 17:52:31 -07:00
William King
d8edc031fa fixed stuck mod_rtmp session when the call is killed from fs side, such as using uuid_kill 2013-04-23 17:52:31 -07:00
William King
37d2a34b04 Don't try to get the channel if the session is null. 2013-01-25 11:41:57 -08:00
William King
79069c66d1 FS-3882, FS-3546, FS-3712, FS-3970: --resolve Fixes the segfault in mod_rtmp where the channel was destroyed, but the endpoint still tried to send or receive data from the session. 2013-01-15 13:22:28 -08:00
Anthony Minessale
06a3266360 FS-4655 its not a bug its a behaviour request, try this patch 2012-09-27 14:27:28 -05:00