рдореЗрд░реЗ рдЬрд╝реЗрди рдЪреИрдирд▓ рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд▓реЗрдЦ рд╕рд╛рдордЧреНрд░реА ред

рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ , рдореИрдВрдиреЗ рдореАрдбрд┐рдпрд╛ рд╕реНрдЯреНрд░реАрдорд░ рдореЗрдВ рдЕрддреНрдпрдзрд┐рдХ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рд▓реЛрдб рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдЯрд┐рдХрд░ рдкрд░ рд▓реЛрдб рдХрд╛ рдЖрдХрд▓рди рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдФрд░ рддрд░реАрдХреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рдмрдврд╝рддреЗ рдбреЗрдЯрд╛ рд╕реЗ рдЬреБрдбрд╝реЗ рд╢рд┐рд▓реНрдк рдлрд╝рд┐рд▓реНрдЯрд░ рдХреЗ рдбрд┐рдмрдЧрд┐рдВрдЧ рдореБрджреНрджреЛрдВ рдХреЛ рдХрд╡рд░ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рддрд░реНрдХрд╕рдВрдЧрдд рд╣реЛрдЧрд╛ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА рдкреНрд░рджрд░реНрд╢рди рдЕрдиреБрдХреВрд▓рди рдореБрджреНрджреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
рд╢рд┐рд▓реНрдк рдлрд╝рд┐рд▓реНрдЯрд░ рдбреАрдмрдЧ рдХрд░рдирд╛
рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рдПрдХ рдореАрдбрд┐рдпрд╛ рд╕реНрдЯреНрд░реАрдорд░ рдореЗрдВ рдбреЗрдЯрд╛ рд▓реЗ рдЬрд╛рдиреЗ рдХреЗ рддрдВрддреНрд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЗрд╕рдореЗрдВ рдореМрдЬреВрдж рдЦрддрд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рддрд░реНрдХрд╕рдВрдЧрдд рд╣реЛрдЧрд╛ред "рдбреЗрдЯрд╛ рдкреНрд░рд╡рд╛рд╣" рд╕рд┐рджреНрдзрд╛рдВрдд рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рд╣реИ рдХрд┐ рдвреЗрд░ рд╕реЗ рдореЗрдореЛрд░реА рдХрд╛ рдЖрд╡рдВрдЯрди рдЙрди рдлрд┐рд▓реНрдЯрд░ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░реАрдо рдХреЗ рд╕реНрд░реЛрдд рдкрд░ рд╕реНрдерд┐рдд рд╣реИрдВ, рдФрд░ рд╕реНрдЯреНрд░реАрдо рдкрде рдХреЗ рдЕрдВрдд рдореЗрдВ рд╕реНрдерд┐рдд рдлрд╝рд┐рд▓реНрдЯрд░ рдореЗрдореЛрд░реА рдХреЛ рдореБрдХреНрдд рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдвреЗрд░ рдкрд░ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдирдП рдбреЗрдЯрд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдирд╛рд╢ рдХрд╣реАрдВ рдордзреНрдпрд╡рд░реНрддреА рдмрд┐рдВрджреБрдУрдВ рдкрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдореЗрдореЛрд░реА рдХреЛ рдлреНрд░реАрдЬрд╝ рдХрд░рдирд╛ рдЧрд▓рдд рдлрд╝рд┐рд▓реНрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдбреЗрдЯрд╛ рдмреНрд▓реЙрдХ рдмрдирд╛рддрд╛ рд╣реИред
, , , , . тАФ , . , , тАФ / .
, , ( ). "" "" . , . . "" , MS_TEE , . , : ms_free(). , , .. "". ( ) .
"" , . тАФ . , . , , , "" , .
?
, top , .
, - , . , . , , ..
( ). Valgrind ( ) gcc MemorySanitizer - . , , .
, , . "" , , , . , , .
"" , , .
, . , .
. .

, F1...F4, , . , . , , N- . , MS_VOID_SOURCE. тАФ . . .. .
, , , , "" , , . . , , . тАФ , . - .
voidsourse:

, , , . , ( ). , . , , , "" . , . "" , . ( ). "" , .
-
. :
#ifndef iso_filter_h
#define iso_filter_h
#include <mediastreamer2/msfilter.h>
#define MY_ISO_FILTER_ID 1024
extern MSFilterDesc iso_filter_desc;
#endif
:
#include "iso_filter.h"
static void
iso_init (MSFilter * f)
{
}
static void
iso_uninit (MSFilter * f)
{
}
static void
iso_process (MSFilter * f)
{
mblk_t *im;
while ((im = ms_queue_get (f->inputs[0])) != NULL)
{
ms_queue_put (f->outputs[0], copymsg (im));
freemsg (im);
}
}
static MSFilterMethod iso_methods[] = {
{0, NULL}
};
MSFilterDesc iso_filter_desc = {
MY_ISO_FILTER_ID,
"iso_filter",
"A filter that reads from input and copy to its output.",
MS_FILTER_OTHER,
NULL,
1,
1,
iso_init,
NULL,
iso_process,
NULL,
iso_uninit,
iso_methods
};
MS_FILTER_DESC_EXPORT (iso_desc)
, , ", ". . :
OrtpMemoryFunctions reserv;
OrtpMemoryFunctions my;
reserv.malloc_fun = ortp_malloc;
reserv.realloc_fun = ortp_realloc;
reserv.free_fun = ortp_free;
my.malloc_fun = &my_malloc;
my.realloc_fun = &my_realloc;
my.free_fun = &my_free;
ortp_set_memory_functions(&my);
, , . .
, . , , .
рдЕрдЧрд▓реЗ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдЯрд┐рдХрд░ рдкрд░ рд▓реЛрдб рдХрд╛ рдЖрдХрд▓рди рдХрд░рдиреЗ рдФрд░ рдореАрдбрд┐рдпрд╛ рд╕реНрдЯреАрдорд░ рдореЗрдВ рдЕрддреНрдпрдзрд┐рдХ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рд▓реЛрдб рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред