initial commit

This commit is contained in:
2024-12-15 00:34:01 +06:00
commit 31efbc726f
1576 changed files with 657692 additions and 0 deletions

View File

@@ -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");
}
}

View File

@@ -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

View 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)