1 /***************************************************************************** 2 * item.h 3 ***************************************************************************** 4 * Copyright (C) 2008 Laurent Aimar 5 * $Id: f4b89a411fd07b6b3082161a749d44094e73dc29 $ 6 * 7 * Authors: Laurent Aimar <fenrir _AT_ videolan _DOT_ org> 8 * 9 * This program is free software; you can redistribute it and/or modify it 10 * under the terms of the GNU Lesser General Public License as published by 11 * the Free Software Foundation; either version 2.1 of the License, or 12 * (at your option) any later version. 13 * 14 * This program is distributed in the hope that it will be useful, 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 * GNU Lesser General Public License for more details. 18 * 19 * You should have received a copy of the GNU Lesser General Public License 20 * along with this program; if not, write to the Free Software Foundation, 21 * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. 22 *****************************************************************************/ 23 24 #ifndef LIBVLC_INPUT_ITEM_H 25 #define LIBVLC_INPUT_ITEM_H 1 26 27 #include "input_interface.h" 28 #include <vlc_atomic.h> 29 30 void input_item_SetErrorWhenReading( input_item_t *p_i, bool b_error ); 31 void input_item_UpdateTracksInfo( input_item_t *item, const es_format_t *fmt ); 32 bool input_item_ShouldPreparseSubItems( input_item_t *p_i ); 33 34 typedef struct input_item_owner 35 { 36 input_item_t item; 37 atomic_uint refs; 38 } input_item_owner_t; 39 40 # define item_owner(item) ((struct input_item_owner *)(item)) 41 42 #endif 43