[asterisk-commits] file: branch group/media_formats r408329 - in /team/group/media_formats: addo...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Wed Feb 19 05:32:00 CST 2014
Author: file
Date: Wed Feb 19 05:31:57 2014
New Revision: 408329
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=408329
Log:
Move some addons over.
Modified:
team/group/media_formats/addons/chan_mobile.c
team/group/media_formats/addons/format_mp3.c
team/group/media_formats/channels/chan_phone.c
Modified: team/group/media_formats/addons/chan_mobile.c
URL: http://svnview.digium.com/svn/asterisk/team/group/media_formats/addons/chan_mobile.c?view=diff&rev=408329&r1=408328&r2=408329
==============================================================================
--- team/group/media_formats/addons/chan_mobile.c (original)
+++ team/group/media_formats/addons/chan_mobile.c Wed Feb 19 05:31:57 2014
@@ -73,15 +73,15 @@
#include "asterisk/app.h"
#include "asterisk/manager.h"
#include "asterisk/io.h"
+#include "asterisk/smoother.h"
+#include "asterisk/format_cache.h"
#define MBL_CONFIG "chan_mobile.conf"
#define MBL_CONFIG_OLD "mobile.conf"
#define DEVICE_FRAME_SIZE 48
-#define DEVICE_FRAME_FORMAT AST_FORMAT_SLINEAR
+#define DEVICE_FRAME_FORMAT ast_format_slin
#define CHANNEL_FRAME_SIZE 320
-
-static struct ast_format prefformat;
static int discovery_interval = 60; /* The device discovery interval, default 60 seconds. */
static pthread_t discovery_thread = AST_PTHREADT_NULL; /* The discovery thread */
@@ -840,7 +840,6 @@
static struct ast_channel *mbl_new(int state, struct mbl_pvt *pvt, char *cid_num,
const struct ast_channel *requestor)
{
-
struct ast_channel *chn;
pvt->answered = 0;
@@ -862,11 +861,11 @@
}
ast_channel_tech_set(chn, &mbl_tech);
- ast_format_cap_add(ast_channel_nativeformats(chn), &prefformat);
- ast_format_copy(ast_channel_rawreadformat(chn), &prefformat);
- ast_format_copy(ast_channel_rawwriteformat(chn), &prefformat);
- ast_format_copy(ast_channel_writeformat(chn), &prefformat);
- ast_format_copy(ast_channel_readformat(chn), &prefformat);
+ ast_channel_nativeformats_set(chn, mbl_tech.capabilities);
+ ast_channel_set_rawreadformat(chn, DEVICE_FRAME_FORMAT);
+ ast_channel_set_rawwriteformat(chn, DEVICE_FRAME_FORMAT);
+ ast_channel_set_writeformat(chn, DEVICE_FRAME_FORMAT);
+ ast_channel_set_readformat(chn, DEVICE_FRAME_FORMAT);
ast_channel_tech_pvt_set(chn, pvt);
if (state == AST_STATE_RING)
@@ -902,7 +901,7 @@
return NULL;
}
- if (!(ast_format_cap_iscompatible(cap, &prefformat))) {
+ if (!(ast_format_cap_iscompatible_format(cap, DEVICE_FRAME_FORMAT))) {
char tmp[256];
ast_log(LOG_WARNING, "Asked to get a channel of unsupported format '%s'\n", ast_getformatname_multiple(tmp, sizeof(tmp), cap));
*cause = AST_CAUSE_FACILITY_NOT_IMPLEMENTED;
@@ -1116,7 +1115,7 @@
memset(&pvt->fr, 0x00, sizeof(struct ast_frame));
pvt->fr.frametype = AST_FRAME_VOICE;
- ast_format_set(&pvt->fr.subclass.format, DEVICE_FRAME_FORMAT, 0);
+ pvt->fr.subclass.format = ast_format_copy(DEVICE_FRAME_FORMAT);
pvt->fr.src = "Mobile";
pvt->fr.offset = AST_FRIENDLY_OFFSET;
pvt->fr.mallocd = 0;
@@ -1131,6 +1130,7 @@
pvt->sco_socket = -1;
ast_channel_set_fd(ast, 0, -1);
}
+ ao2_ref(pvt->fr.subclass.format, -1);
goto e_return;
}
@@ -4697,7 +4697,8 @@
if (sdp_session)
sdp_close(sdp_session);
- mbl_tech.capabilities = ast_format_cap_destroy(mbl_tech.capabilities);
+ ao2_ref(mbl_tech.capabilities, -1);
+ mbl_tech.capabilities = NULL;
return 0;
}
@@ -4706,11 +4707,11 @@
int dev_id, s;
- if (!(mbl_tech.capabilities = ast_format_cap_alloc(0))) {
+ if (!(mbl_tech.capabilities = ast_format_cap_alloc(AST_FORMAT_CAP_FLAG_DEFAULT))) {
return AST_MODULE_LOAD_DECLINE;
}
- ast_format_set(&prefformat, DEVICE_FRAME_FORMAT, 0);
- ast_format_cap_add(mbl_tech.capabilities, &prefformat);
+
+ ast_format_cap_add(mbl_tech.capabilities, DEVICE_FRAME_FORMAT, 0);
/* Check if we have Bluetooth, no point loading otherwise... */
dev_id = hci_get_route(NULL);
s = hci_open_dev(dev_id);
Modified: team/group/media_formats/addons/format_mp3.c
URL: http://svnview.digium.com/svn/asterisk/team/group/media_formats/addons/format_mp3.c?view=diff&rev=408329&r1=408328&r2=408329
==============================================================================
--- team/group/media_formats/addons/format_mp3.c (original)
+++ team/group/media_formats/addons/format_mp3.c Wed Feb 19 05:31:57 2014
@@ -42,6 +42,7 @@
#include "asterisk/module.h"
#include "asterisk/mod_format.h"
#include "asterisk/logger.h"
+#include "asterisk/format_cache.h"
#define MP3_BUFLEN 320
#define MP3_SCACHE 16384
@@ -229,10 +230,7 @@
p->offset += p->buflen;
delay = p->buflen / 2;
- s->fr.frametype = AST_FRAME_VOICE;
- ast_format_set(&s->fr.subclass.format, AST_FORMAT_SLINEAR, 0);
AST_FRAME_SET_BUFFER(&s->fr, s->buf, AST_FRIENDLY_OFFSET, p->buflen);
- s->fr.mallocd = 0;
s->fr.samples = delay;
*whennext = delay;
return &s->fr;
@@ -318,7 +316,7 @@
static int load_module(void)
{
- ast_format_set(&mp3_f.format, AST_FORMAT_SLINEAR, 0);
+ mp3_f.format = ast_format_slin;
InitMP3Constants();
return ast_format_def_register(&mp3_f);
}
Modified: team/group/media_formats/channels/chan_phone.c
URL: http://svnview.digium.com/svn/asterisk/team/group/media_formats/channels/chan_phone.c?view=diff&rev=408329&r1=408328&r2=408329
==============================================================================
--- team/group/media_formats/channels/chan_phone.c (original)
+++ team/group/media_formats/channels/chan_phone.c Wed Feb 19 05:31:57 2014
@@ -615,7 +615,7 @@
p->fr.frametype = p->lastinput->codec->type == AST_MEDIA_TYPE_AUDIO ?
AST_FRAME_VOICE : p->lastinput->codec->type == AST_MEDIA_TYPE_IMAGE ?
AST_FRAME_IMAGE : AST_FRAME_VIDEO;
- p->fr.subclass.format = p->lastinput;
+ p->fr.subclass.format = ast_format_copy(p->lastinput);
p->fr.offset = AST_FRIENDLY_OFFSET;
/* Byteswap from little-endian to native-endian */
if (ast_format_cmp(p->fr.subclass.format, ast_format_slin) == AST_FORMAT_CMP_EQUAL)
More information about the asterisk-commits
mailing list