NxPlayer play thread stack size is now configurable; all NxPlayer threads are named via pthread_setname_np(). From Ken Pettit
This commit is contained in:
parent
bfcc6ae4d7
commit
ffed849881
@ -730,4 +730,6 @@
|
||||
David Sidrane (2013-11-06).
|
||||
* apps/system/composite/composite_main.c: The wrong handle was getting
|
||||
nullified. From David Sidrane (2013-11-7).
|
||||
|
||||
* apps/system/nxplayer: Play thread stack size is now configurable. All
|
||||
NxPlayer threads now have names assigned via pthread_setname_np().
|
||||
From Ken Pettit (2013-11-10).
|
||||
|
@ -11,6 +11,12 @@ config SYSTEM_NXPLAYER
|
||||
|
||||
if SYSTEM_NXPLAYER
|
||||
|
||||
config NXPLAYER_PLAYTHREAD_STACKSIZE
|
||||
int "NxPlayer thread stack size"
|
||||
default 1500
|
||||
---help---
|
||||
Stack size to use with the NxPlayer play thread.
|
||||
|
||||
config NXPLAYER_COMMAND_LINE
|
||||
bool "Include nxplayer command line application"
|
||||
default y
|
||||
|
@ -52,7 +52,7 @@ CSRCS = nxplayer.c
|
||||
|
||||
APPNAME = nxplayer
|
||||
PRIORITY = SCHED_PRIORITY_DEFAULT
|
||||
STACKSIZE = 3100
|
||||
STACKSIZE = 2048
|
||||
|
||||
ifeq ($(CONFIG_NXPLAYER_COMMAND_LINE),y)
|
||||
CSRCS += nxplayer_main.c
|
||||
|
@ -72,6 +72,10 @@
|
||||
# define CONFIG_NXPLAYER_MSG_PRIO 1
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_NXPLAYER_PLAYTHREAD_STACKSIZE
|
||||
# define CONFIG_NXPLAYER_PLAYTHREAD_STACKSIZE 1500
|
||||
#endif
|
||||
|
||||
/****************************************************************************
|
||||
* Private Type Declarations
|
||||
****************************************************************************/
|
||||
@ -1323,7 +1327,8 @@ int nxplayer_playfile(FAR struct nxplayer_s *pPlayer, char* pFilename, int filef
|
||||
|
||||
pthread_attr_init(&tattr);
|
||||
sparam.sched_priority = sched_get_priority_max(SCHED_FIFO) - 9;
|
||||
pthread_attr_setschedparam(&tattr, &sparam);
|
||||
(void)pthread_attr_setschedparam(&tattr, &sparam);
|
||||
(void)pthread_attr_setstacksize(&tattr, CONFIG_NXPLAYER_PLAYTHREAD_STACKSIZE);
|
||||
|
||||
/* Add a reference count to the player for the thread and start the
|
||||
* thread. We increment for the thread to avoid thread start-up
|
||||
@ -1332,13 +1337,17 @@ int nxplayer_playfile(FAR struct nxplayer_s *pPlayer, char* pFilename, int filef
|
||||
|
||||
nxplayer_reference(pPlayer);
|
||||
ret = pthread_create(&pPlayer->playId, &tattr, nxplayer_playthread,
|
||||
(pthread_addr_t) pPlayer);
|
||||
(pthread_addr_t) pPlayer);
|
||||
if (ret != OK)
|
||||
{
|
||||
auddbg("Error %d creating playthread\n", ret);
|
||||
goto err_out;
|
||||
}
|
||||
|
||||
/* Name the thread */
|
||||
|
||||
pthread_setname_np(pPlayer->playId, "playthread");
|
||||
|
||||
return OK;
|
||||
|
||||
err_out:
|
||||
|
Loading…
Reference in New Issue
Block a user