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).
|
David Sidrane (2013-11-06).
|
||||||
* apps/system/composite/composite_main.c: The wrong handle was getting
|
* apps/system/composite/composite_main.c: The wrong handle was getting
|
||||||
nullified. From David Sidrane (2013-11-7).
|
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
|
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
|
config NXPLAYER_COMMAND_LINE
|
||||||
bool "Include nxplayer command line application"
|
bool "Include nxplayer command line application"
|
||||||
default y
|
default y
|
||||||
|
@ -52,7 +52,7 @@ CSRCS = nxplayer.c
|
|||||||
|
|
||||||
APPNAME = nxplayer
|
APPNAME = nxplayer
|
||||||
PRIORITY = SCHED_PRIORITY_DEFAULT
|
PRIORITY = SCHED_PRIORITY_DEFAULT
|
||||||
STACKSIZE = 3100
|
STACKSIZE = 2048
|
||||||
|
|
||||||
ifeq ($(CONFIG_NXPLAYER_COMMAND_LINE),y)
|
ifeq ($(CONFIG_NXPLAYER_COMMAND_LINE),y)
|
||||||
CSRCS += nxplayer_main.c
|
CSRCS += nxplayer_main.c
|
||||||
|
@ -72,6 +72,10 @@
|
|||||||
# define CONFIG_NXPLAYER_MSG_PRIO 1
|
# define CONFIG_NXPLAYER_MSG_PRIO 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef CONFIG_NXPLAYER_PLAYTHREAD_STACKSIZE
|
||||||
|
# define CONFIG_NXPLAYER_PLAYTHREAD_STACKSIZE 1500
|
||||||
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Private Type Declarations
|
* Private Type Declarations
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -1323,7 +1327,8 @@ int nxplayer_playfile(FAR struct nxplayer_s *pPlayer, char* pFilename, int filef
|
|||||||
|
|
||||||
pthread_attr_init(&tattr);
|
pthread_attr_init(&tattr);
|
||||||
sparam.sched_priority = sched_get_priority_max(SCHED_FIFO) - 9;
|
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
|
/* Add a reference count to the player for the thread and start the
|
||||||
* thread. We increment for the thread to avoid thread start-up
|
* 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);
|
nxplayer_reference(pPlayer);
|
||||||
ret = pthread_create(&pPlayer->playId, &tattr, nxplayer_playthread,
|
ret = pthread_create(&pPlayer->playId, &tattr, nxplayer_playthread,
|
||||||
(pthread_addr_t) pPlayer);
|
(pthread_addr_t) pPlayer);
|
||||||
if (ret != OK)
|
if (ret != OK)
|
||||||
{
|
{
|
||||||
auddbg("Error %d creating playthread\n", ret);
|
auddbg("Error %d creating playthread\n", ret);
|
||||||
goto err_out;
|
goto err_out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Name the thread */
|
||||||
|
|
||||||
|
pthread_setname_np(pPlayer->playId, "playthread");
|
||||||
|
|
||||||
return OK;
|
return OK;
|
||||||
|
|
||||||
err_out:
|
err_out:
|
||||||
|
Loading…
Reference in New Issue
Block a user