RDK Documentation (Open Sourced RDK Components)
btrMgr_streamInGst.c File Reference
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <gst/gst.h>
#include <gst/audio/audio.h>
#include <gst/app/gstappsrc.h>
#include "btrMgr_logger.h"
#include "btrMgr_streamInGst.h"
Include dependency graph for btrMgr_streamInGst.c:

Go to the source code of this file.

Data Structures

struct  _stBTRMgrSIGst
 

Macros

#define BTRMGR_SLEEP_TIMEOUT_MS   1
 
#define BTRMGR_WAIT_TIMEOUT_MS   2
 
#define BTRMGR_MAX_INTERNAL_QUEUE_ELEMENTS   16
 
#define GST_ELEMENT_GET_STATE_RETRY_CNT_MAX   5
 
#define ENABLE_MAIN_LOOP_CONTEXT   0
 

Typedefs

typedef struct _stBTRMgrSIGst stBTRMgrSIGst
 

Functions

static GstState btrMgr_SI_validateStateWithTimeout (GstElement *element, GstState stateToValidate, guint msTimeOut)
 
static gpointer btrMgr_SI_g_main_loop_Task (gpointer apstBtrMgrSiGst)
 
static gboolean btrMgr_SI_g_main_loop_RunningCb (gpointer apstBtrMgrSiGst)
 
static gboolean btrMgr_SI_gstBusCallCb (GstBus *bus, GstMessage *msg, gpointer apstBtrMgrSiGst)
 
eBTRMgrSIGstRet BTRMgr_SI_GstInit (tBTRMgrSiGstHdl *phBTRMgrSiGstHdl, fPtr_BTRMgr_SI_GstStatusCb afpcBSiGstStatus, void *apvUserData)
 This API initializes the streaming interface. More...
 
eBTRMgrSIGstRet BTRMgr_SI_GstDeInit (tBTRMgrSiGstHdl hBTRMgrSiGstHdl)
 This API performs the cleanup operations. More...
 
eBTRMgrSIGstRet BTRMgr_SI_GstStart (tBTRMgrSiGstHdl hBTRMgrSiGstHdl, int aiInBufMaxSize, int aiBTDevFd, int aiBTDevMTU, unsigned int aiBTDevSFreq, const char *apcAudioInType)
 This API starts the playback and listens to the events associated with it. More...
 
eBTRMgrSIGstRet BTRMgr_SI_GstStop (tBTRMgrSiGstHdl hBTRMgrSiGstHdl)
 This API stops the current playback and sets the state as NULL. More...
 
eBTRMgrSIGstRet BTRMgr_SI_GstPause (tBTRMgrSiGstHdl hBTRMgrSiGstHdl)
 This API pauses the current playback and listens to the events. More...
 
eBTRMgrSIGstRet BTRMgr_SI_GstResume (tBTRMgrSiGstHdl hBTRMgrSiGstHdl)
 This API resumes the current operation and listens to the events. More...
 
eBTRMgrSIGstRet BTRMgr_SI_GstSetVolume (tBTRMgrSiGstHdl hBTRMgrSiGstHdl, unsigned char ui8Volume)
 This API resumes the current operation and listens to the events. More...
 
eBTRMgrSIGstRet BTRMgr_SI_GstSendBuffer (tBTRMgrSiGstHdl hBTRMgrSiGstHdl, char *pcInBuf, int aiInBufSize)
 This API pushes the buffer to the queue. More...
 
eBTRMgrSIGstRet BTRMgr_SI_GstSendEOS (tBTRMgrSiGstHdl hBTRMgrSiGstHdl)
 This API is used to push EOS(End of Stream) to the queue. More...
 

yes

@description This file implements bluetooth manager's GStreamer streaming interface to external BT devices

Definition in file btrMgr_streamInGst.c.


Data Structure Documentation

◆ _stBTRMgrSIGst

struct _stBTRMgrSIGst

Definition at line 61 of file btrMgr_streamInGst.c.

Collaboration diagram for _stBTRMgrSIGst:
Collaboration graph
Data Fields
void * pPipeline
void * pSrc
void * pSrcCapsFilter
void * pAudioDec
void * pAudioParse
void * psbcdecCapsFilter
void * pRtpAudioDePay
void * pVolume
void * pSink
void * pContext
GMutex gMtxMainLoopRunLock
GCond gCndMainLoopRun
void * pLoop
void * pLoopThread
guint busWId
GstClockTime gstClkTStamp
guint64 inBufOffset
fPtr_BTRMgr_SI_GstStatusCb fpcBSiGstStatus
void * pvcBUserData