[Freeswitch-svn] [commit] r9758 - freeswitch/trunk/src

Freeswitch SVN robertj at freeswitch.org
Tue Sep 30 00:09:26 EDT 2008


Author: robertj
Date: Tue Sep 30 00:09:25 2008
New Revision: 9758

Modified:
   freeswitch/trunk/src/switch_core_codec.c

Log:
Fixed not being able to set the video read/write codecs to NULL.

Modified: freeswitch/trunk/src/switch_core_codec.c
==============================================================================
--- freeswitch/trunk/src/switch_core_codec.c	(original)
+++ freeswitch/trunk/src/switch_core_codec.c	Tue Sep 30 00:09:25 2008
@@ -183,6 +183,15 @@
 	switch_channel_t *channel = switch_core_session_get_channel(session);
 	char tmp[30];
 
+	if (!codec || !codec->implementation) {
+		if (session->video_read_codec) {
+			session->video_read_codec = NULL;
+        	return SWITCH_STATUS_SUCCESS;
+		}
+		switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Cannot set NULL codec!\n");
+		return SWITCH_STATUS_FALSE;
+	}
+
 	if (switch_event_create(&event, SWITCH_EVENT_CODEC) == SWITCH_STATUS_SUCCESS) {
 		switch_channel_event_set_data(session->channel, event);
 		switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "channel-video-read-codec-name", codec->implementation->iananame);
@@ -210,7 +219,16 @@
 	switch_channel_t *channel = switch_core_session_get_channel(session);
 	char tmp[30];
 
-	if (switch_event_create(&event, SWITCH_EVENT_CODEC) == SWITCH_STATUS_SUCCESS) {
+	if (!codec || !codec->implementation) {
+		if (session->video_write_codec) {
+			session->video_write_codec = NULL;
+        	return SWITCH_STATUS_SUCCESS;
+		}
+		switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Cannot set NULL codec!\n");
+		return SWITCH_STATUS_FALSE;
+	}
+
+    if (switch_event_create(&event, SWITCH_EVENT_CODEC) == SWITCH_STATUS_SUCCESS) {
 		switch_channel_event_set_data(session->channel, event);
 		switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "channel-video-write-codec-name", codec->implementation->iananame);
 		switch_event_add_header(event, SWITCH_STACK_BOTTOM, "channel-video-write-codec-rate", "%d", codec->implementation->actual_samples_per_second);



More information about the Freeswitch-svn mailing list