Commit 88ac075f authored by Francois Cartegnie's avatar Francois Cartegnie

demux: asf: split packet parsing for reuse

parent a61da5b4
......@@ -121,7 +121,9 @@ libdemux_stl_plugin_la_SOURCES = demux/stl.c
libdemux_stl_plugin_la_CPPFLAGS = $(AM_CPPFLAGS)
demux_LTLIBRARIES += libdemux_stl_plugin.la
libasf_plugin_la_SOURCES = demux/asf/asf.c demux/asf/libasf.c demux/asf/libasf.h demux/asf/libasf_guid.h
libasf_plugin_la_SOURCES = demux/asf/asf.c demux/asf/libasf.c demux/asf/libasf.h \
demux/asf/asfpacket.c demux/asf/asfpacket.h \
demux/asf/libasf_guid.h
demux_LTLIBRARIES += libasf_plugin.la
libavi_plugin_la_SOURCES = demux/avi/avi.c demux/avi/libavi.c demux/avi/libavi.h
......
This diff is collapsed.
This diff is collapsed.
/*****************************************************************************
* asfpacket.h :
*****************************************************************************
* Copyright © 2001-2004, 2011, 2014 VLC authors and VideoLAN
*
* Authors: Laurent Aimar <fenrir@via.ecp.fr>
*
* This program 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 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 _VLC_ASFPACKET_H
#define _VLC_ASFPACKET_H
#include <vlc_demux.h>
#include <vlc_es.h>
#include "libasf.h"
#define ASFPACKET_PREROLL_FROM_CURRENT -1
typedef struct
{
block_t *p_frame; /* used to gather complete frame */
asf_object_stream_properties_t *p_sp;
asf_object_extended_stream_properties_t *p_esp;
} asf_track_info_t;
typedef struct asf_packet_sys_s asf_packet_sys_t;
struct asf_packet_sys_s
{
demux_t *p_demux;
/* global stream info */
uint64_t *pi_preroll;
int64_t *pi_preroll_start;
/* callbacks */
void (*pf_send)(asf_packet_sys_t *, uint8_t, block_t **);
asf_track_info_t * (*pf_gettrackinfo)(asf_packet_sys_t *, uint8_t);
/* optional callbacks */
bool (*pf_doskip)(asf_packet_sys_t *, uint8_t, bool);
void (*pf_updatetime)(asf_packet_sys_t *, uint8_t, mtime_t);
void (*pf_setaspectratio)(asf_packet_sys_t *, uint8_t, uint8_t, uint8_t);
};
int DemuxASFPacket( asf_packet_sys_t *, uint32_t, uint32_t );
#endif
......@@ -19,7 +19,8 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
#ifndef _VLC_LIBASF_H
#define _VLC_LIBASF_H
#define ASF_MAX_STREAMNUMBER 127
......@@ -389,3 +390,4 @@ void ASF_FreeObjectRoot( stream_t *, asf_object_root_t *p_root );
int ASF_CountObject ( void *p_obj, const guid_t *p_guid );
void *ASF_FindObject( void *p_obj, const guid_t *p_guid, int i_number );
#endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment