MLT  7.28.0
Data Structures | Macros | Typedefs | Functions
mlt_properties.c File Reference

Properties class definition. More...

#include "mlt_properties.h"
#include "mlt_deque.h"
#include "mlt_factory.h"
#include "mlt_log.h"
#include "mlt_property.h"
#include <ctype.h>
#include <dirent.h>
#include <errno.h>
#include <float.h>
#include <locale.h>
#include <pthread.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/stat.h>
#include <sys/types.h>

Data Structures

struct  property_list
 private implementation of the property list More...
 
struct  strbuf_s
 Private to mlt_properties_s, a self-growing buffer for building strings. More...
 
struct  yaml_parser_context
 YAML Tiny Parser context structure. More...
 

Macros

#define _GNU_SOURCE
 
#define MAX_LOAD_LINE_SIZE   4096
 
#define STRBUF_GROWTH   (1024)
 How many bytes to grow at a time. More...
 

Typedefs

typedef struct strbuf_sstrbuf
 
typedef struct yaml_parser_contextyaml_parser
 

Functions

static void fire_property_changed (mlt_properties self, const char *name)
 
static int has_reserved_char (const char *string)
 
static int is_valid_expression (mlt_properties self, const char *value)
 
static int load_properties (mlt_properties self, const char *filename)
 
static unsigned int ltrim (char **s)
 Remove spaces from the left side of a string. More...
 
static unsigned int rtrim (char *s)
 Remove spaces from the right side of a string. More...
 
static void strbuf_escape (strbuf output, const char *value, char c)
 

Detailed Description

Properties class definition.

See also
mlt_properties_s

Copyright (C) 2003-2023 Meltytech, LLC

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

Macro Definition Documentation

◆ _GNU_SOURCE

#define _GNU_SOURCE

◆ MAX_LOAD_LINE_SIZE

#define MAX_LOAD_LINE_SIZE   4096

◆ STRBUF_GROWTH

#define STRBUF_GROWTH   (1024)

How many bytes to grow at a time.

Typedef Documentation

◆ strbuf

typedef struct strbuf_s* strbuf

◆ yaml_parser

Function Documentation

◆ fire_property_changed()

static void fire_property_changed ( mlt_properties  self,
const char *  name 
)
static

◆ has_reserved_char()

static int has_reserved_char ( const char *  string)
inlinestatic

◆ is_valid_expression()

static int is_valid_expression ( mlt_properties  self,
const char *  value 
)
static

◆ load_properties()

static int load_properties ( mlt_properties  self,
const char *  filename 
)
static

◆ ltrim()

static unsigned int ltrim ( char **  s)
static

Remove spaces from the left side of a string.

Parameters
sthe string to trim
Returns
the number of characters removed

◆ rtrim()

static unsigned int rtrim ( char *  s)
static

Remove spaces from the right side of a string.

Parameters
sthe string to trim
Returns
the number of characters removed

◆ strbuf_escape()

static void strbuf_escape ( strbuf  output,
const char *  value,
char  c 
)
static