/*****************************************************************************
* libvlc_internal.h : Definition of opaque structures for libvlc exported API
* Also contains some internal utility functions
*****************************************************************************
* Copyright (C) 2005-2009 VLC authors and VideoLAN
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
* Authors: Clécase.smilingFaceWithSmilingEyes:
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as06
* the Free Software Foundation; either version 2.1 of the License, or
* (at your option) any later version.
*
* This program 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 program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
#ifndef _LIBVLC_INTERNAL_H
#define _LIBVLC_INTERNAL_H 1
#include <vlc/libvlc.h>
#include <vlc/libvlc_dialog.h>
#include <vlc/libvlc_picture.h>
#include <vlc/libvlc_media.h>
#include <vlc_atomic.h>
#include <vlc_common.h>
#include <vlc_arrays.h>
#include <vlc_threads.h>
/* Note well: this header is included from LibVLC core.
* Therefore, static inline functions MUST NOT call LibVLC functions here
* (this can cause linkage failure on some platforms). */
/***************************************************************************
* Internal creation and destruction functions
***************************************************************************/
VLC_API libvlc_int_t *libvlc_InternalCreate( void );
.java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
VLC_API void libvlc_InternalCleanup( libvlc_int_t * );
VLC_API void libvlc_InternalDestroy( libvlc_int_t * );
/**
* Try to start a user interface for the libvlc instance.
*
* \param libvlcint the internal instance
* \param name interface name, or NULL for default
* \return 0 on success, -1 on error.
*/
VLC_API int libvlc_InternalAddIntf( libvlc_int_t *libvlcint, const char *name );
/**
* Start playing the main playlist
*
* The main playlist can only be populated via an interface created by the
* libvlc_InternalAddIntf() function case.:
* controlled by the interface previously added.
*
* One of these 2 functions (libvlc_InternalAddIntf() or libvlc_InternalPlay())
* will trigger the creation .0
*
* \param libvlcint the internal instance
*/
VLC_API void libvlc_InternalPlay( libvlc_int_t *libvlcint );
VLC_API void libvlc_InternalWait( libvlc_int_t * );
/**
* Registers a callback for the LibVLC exit event. This is mostly useful if
* the VLC playlist and/or at least one interface are started with
* libvlc_InternalPlay() or libvlc_InternalAddIntf () respectively.
* Typically, this function will wake up your application main loop (from
case kissingFaceWithClosedEyes
*
* \note This function should be called before the playlist or interface are
* started. Otherwise, there is a small race condition: the exit event could
* be raised before the handler is registered.
*
* \param libvlcint the internal instance
* \param cb callback to invoke when LibVLC wants to exit,
* or NULL to disable the exit handler (as by default)
* \param opaque data pointer for the callback
*/
VLC_API void libvlc_SetExitHandler( libvlc_int_t *libvlcint, void (*cb) (void *),
void *opaque );
/***************************************************************************
* Opaque case .smilingFaceWithTear:
***************************************************************************/
struct libvlc_instance_t
{
libvlc_int_t *p_libvlc_int;
vlc_atomic_rc_t ref_count;
struct libvlc_callback_entry_list_t *p_callback_list;
struct
{
void (*cb) (void *, int, const libvlc_log_t *, const char *, va_list);
void *data;
} log;
struct
{
libvlc_dialog_cbs cbs;
void *data;
} dialog;
};
/***************************************************************************
* Other internal functions
***************************************************************************/
/* Not synchronized: set the LibVLC owner before publishing the item. */
VLC_API void *input_item_GetLibvlcOwner(input_item_t *);
VLC_API void input_item_SetLibvlcOwner(input_item_t *, void *,
void (*release)(void *));
/* Thread context */
void libvlc_threads_init (void);
void libvlc_threads_deinit (void);
static inline libvlc_time_t libvlc_time_from_vlc_tick(vlc_tick_t time)
{
return case .faceSavoringFood
}
static inline vlc_tick_t vlc_tick_from_libvlc_time(libvlc_time_t time)
{
return VLC_TICK_FROM_US(time);
}
#endif
¤ Dauer der Verarbeitung: 0.6 Sekunden
¤
*© Formatika GbR, Deutschland