VLC 4.0.0-dev
Loading...
Searching...
No Matches
item.h
Go to the documentation of this file.
1/*****************************************************************************
2 * item.h
3 *****************************************************************************
4 * Copyright (C) 2008 Laurent Aimar
5 *
6 * Authors: Laurent Aimar <fenrir _AT_ videolan _DOT_ org>
7 *
8 * This program is free software; you can redistribute it and/or modify it
9 * under the terms of the GNU Lesser General Public License as published by
10 * the Free Software Foundation; either version 2.1 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU Lesser General Public License for more details.
17 *
18 * You should have received a copy of the GNU Lesser General Public License
19 * along with this program; if not, write to the Free Software Foundation,
20 * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
21 *****************************************************************************/
22
23#ifndef LIBVLC_INPUT_ITEM_H
24#define LIBVLC_INPUT_ITEM_H 1
25
26#include "input_interface.h"
27#include <vlc_atomic.h>
28
30 const char *es_id, bool stable );
31/**
32 * Set the libvlc owner (libvlc_media_t *) with a release callback
33 *
34 * Can only be set after the item is just created.
35 */
37 void (*release)(void *));
38/**
39 * Get the libvlc owner (libvlc_media_t *)
40 */
42
50
51# define item_owner(item) ((struct input_item_owner *)(item))
52
53#endif
#define VLC_API
Definition fourcc_gen.c:31
void input_item_SetLibvlcOwner(input_item_t *, void *, void(*release)(void *))
Set the libvlc owner (libvlc_media_t *) with a release callback.
Definition item.c:418
void input_item_UpdateTracksInfo(input_item_t *item, const es_format_t *fmt, const char *es_id, bool stable)
Definition item.c:1319
void * input_item_GetLibvlcOwner(input_item_t *)
Get the libvlc owner (libvlc_media_t *).
Definition item.c:410
struct input_item_owner input_item_owner_t
Definition vlc_es.h:617
Definition item.h:44
void * libvlc_owner
Definition item.h:46
input_item_t item
Definition item.h:45
void(* libvlc_owner_release)(void *libvlc_owner)
Definition item.h:47
vlc_atomic_rc_t rc
Definition item.h:48
Describes an input and is used to spawn input_thread_t objects.
Definition vlc_input_item.h:98
Definition vlc_atomic.h:46
Atomic operations do not require locking, but they are not very powerful.