initial commit
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
#include "FreeRTOS.h"
|
||||
#include "task.h"
|
||||
#include "example_media_audio_from_rtp.h"
|
||||
|
||||
#include "mmf_source.h"
|
||||
#include "mmf_sink.h"
|
||||
|
||||
void example_media_audio_from_rtp_main(void* param)
|
||||
{
|
||||
|
||||
int con = 1;
|
||||
msink_context *msink_ctx;
|
||||
msrc_context *msrc_ctx;
|
||||
|
||||
xQueueHandle src2sink_qid;
|
||||
xQueueHandle sink2src_qid;
|
||||
|
||||
src2sink_qid = xQueueCreate(3, sizeof(exch_buf_t));
|
||||
sink2src_qid = xQueueCreate(3, sizeof(exch_buf_t));
|
||||
|
||||
// open and setup stream
|
||||
#if CONFIG_EXAMPLE_MP3_STREAM_RTP
|
||||
if( (msink_ctx = mmf_sink_open(&mp3_sink_module))==NULL)
|
||||
goto fail;
|
||||
mmf_sink_ctrl(msink_ctx, CMD_SET_INPUT_QUEUE, (int)src2sink_qid);
|
||||
mmf_sink_ctrl(msink_ctx, CMD_SET_OUTPUT_QUEUE, (int)sink2src_qid);
|
||||
mmf_sink_ctrl(msink_ctx, CMD_SET_STREAMMING, ON);
|
||||
mmf_sink_ctrl(msink_ctx, CMD_SET_TASK_ON, 512);
|
||||
#else
|
||||
if( (msink_ctx = mmf_sink_open(&i2s_sink_module))==NULL)
|
||||
goto fail;
|
||||
mmf_sink_ctrl(msink_ctx, CMD_SET_INPUT_QUEUE, (int)src2sink_qid);
|
||||
mmf_sink_ctrl(msink_ctx, CMD_SET_OUTPUT_QUEUE, (int)sink2src_qid);
|
||||
mmf_sink_ctrl(msink_ctx, CMD_SET_STREAMMING, ON);
|
||||
mmf_sink_ctrl(msink_ctx, CMD_SET_TASK_ON, 0);
|
||||
#endif
|
||||
|
||||
if((msrc_ctx = mmf_source_open(&rtp_src_module))==NULL)
|
||||
goto fail;
|
||||
mmf_source_ctrl(msrc_ctx, CMD_SET_PRIV_BUF, 1);
|
||||
mmf_source_ctrl(msrc_ctx, CMD_SET_INPUT_QUEUE, (int)sink2src_qid);
|
||||
mmf_source_ctrl(msrc_ctx, CMD_SET_OUTPUT_QUEUE, (int)src2sink_qid);
|
||||
mmf_source_ctrl(msrc_ctx, CMD_SET_STREAMMING, ON);
|
||||
mmf_source_ctrl(msrc_ctx, CMD_SET_TASK_ON, 0);
|
||||
|
||||
while(con)
|
||||
{
|
||||
vTaskDelay(100);
|
||||
}
|
||||
mmf_sink_ctrl(msink_ctx, CMD_SET_STREAMMING, OFF);
|
||||
mmf_source_ctrl(msrc_ctx, CMD_SET_PRIV_BUF, 0);
|
||||
mmf_source_ctrl(msrc_ctx, CMD_SET_STREAMMING, OFF);
|
||||
fail:
|
||||
mmf_sink_close(msink_ctx);
|
||||
mmf_source_close(msrc_ctx);
|
||||
vTaskDelete(NULL);
|
||||
}
|
||||
|
||||
void example_media_audio_from_rtp(void)
|
||||
{
|
||||
/*user can start their own task here*/
|
||||
if(xTaskCreate(example_media_audio_from_rtp_main, ((const char*)"example_media_audio_from_rtp_main"), 512, NULL, tskIDLE_PRIORITY + 1, NULL) != pdPASS) {
|
||||
printf("\r\n example_media_audio_from_rtp_main: Create Task Error\n");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
#ifndef EXAMPLE_MEDIA_AUDIO_FROM_RTP_H
|
||||
#define EXAMPLE_MEDIA_AUDIO_FROM_RTP_H
|
||||
#include <platform/platform_stdlib.h>
|
||||
#include "platform_opts.h"
|
||||
#include "osdep_api.h"
|
||||
|
||||
void example_media_geo_rtp(void);
|
||||
#endif
|
||||
13
lib/amb1_sdk/common/example/media_audio_from_rtp/readme.txt
Normal file
13
lib/amb1_sdk/common/example/media_audio_from_rtp/readme.txt
Normal file
@@ -0,0 +1,13 @@
|
||||
--This example is contributed by Ian--
|
||||
|
||||
In order to test this example, you can utilize vlc rtp streaming feature to feed pcmu data for ameba to play audio.
|
||||
|
||||
For better wlan performance please make the following modification before compiling this example:
|
||||
|
||||
in lwipopts.h,
|
||||
PBUF_POOL_SIZE 20 => 40 (just an example)
|
||||
PBUF_POOL_BUFSIZE 500 => 250
|
||||
DEFAULT_UDP_RECVMBOX_SIZE 6 => 24 (just an example)
|
||||
in opt.h,
|
||||
MEMP_NUM_NETBUF 2 => 24 (just an example)
|
||||
TCPIP_MBOX_SIZE 6 => 6 (just an example)
|
||||
Reference in New Issue
Block a user