Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-gpu
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc-gpu
Commits
53b4094f
Commit
53b4094f
authored
Jun 22, 2004
by
Laurent Aimar
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* all: rework of the input.
parent
7255e433
Changes
9
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
13 additions
and
643 deletions
+13
-643
include/input_ext-dec.h
include/input_ext-dec.h
+0
-88
include/input_ext-intf.h
include/input_ext-intf.h
+0
-360
include/input_ext-plugins.h
include/input_ext-plugins.h
+0
-117
include/stream_control.h
include/stream_control.h
+0
-65
include/vlc/decoder.h
include/vlc/decoder.h
+1
-3
include/vlc/input.h
include/vlc/input.h
+10
-6
include/vlc/intf.h
include/vlc/intf.h
+1
-2
include/vlc_codec.h
include/vlc_codec.h
+0
-2
include/vlc_objects.h
include/vlc_objects.h
+1
-0
No files found.
include/input_ext-dec.h
deleted
100644 → 0
View file @
7255e433
/*****************************************************************************
* input_ext-dec.h: structures exported to the VideoLAN decoders
*****************************************************************************
* Copyright (C) 1999-2001 VideoLAN
* $Id: input_ext-dec.h,v 1.83 2003/11/24 00:39:00 fenrir Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
* Michel Kaempf <maxx@via.ecp.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
#ifndef _VLC_INPUT_EXT_DEC_H
#define _VLC_INPUT_EXT_DEC_H 1
/* Structures exported to the decoders */
/*****************************************************************************
* data_packet_t
*****************************************************************************
* Describe a data packet.
*****************************************************************************/
struct
data_packet_t
{
/* Used to chain the packets that carry data for a same PES or PSI */
data_packet_t
*
p_next
;
/* start of the PS or TS packet */
byte_t
*
p_demux_start
;
/* start of the PES payload in this packet */
byte_t
*
p_payload_start
;
byte_t
*
p_payload_end
;
/* guess ? :-) */
/* is the packet messed up ? */
vlc_bool_t
b_discard_payload
;
/* pointer to the real data */
data_buffer_t
*
p_buffer
;
};
/*****************************************************************************
* pes_packet_t
*****************************************************************************
* Describes an PES packet, with its properties, and pointers to the TS packets
* containing it.
*****************************************************************************/
struct
pes_packet_t
{
/* Chained list to the next PES packet (depending on the context) */
pes_packet_t
*
p_next
;
/* PES properties */
vlc_bool_t
b_data_alignment
;
/* used to find the beginning of
* a video or audio unit */
vlc_bool_t
b_discontinuity
;
/* This packet doesn't follow the
* previous one */
mtime_t
i_pts
;
/* PTS for this packet (zero if unset) */
mtime_t
i_dts
;
/* DTS for this packet (zero if unset) */
int
i_rate
;
/* current reading pace (see stream_control.h) */
unsigned
int
i_pes_size
;
/* size of the current PES packet */
/* Chained list to packets */
data_packet_t
*
p_first
;
/* The first packet contained by this
* PES (used by decoders). */
data_packet_t
*
p_last
;
/* The last packet contained by this
* PES (used by the buffer allocator) */
unsigned
int
i_nb_data
;
/* Number of data packets in the chained list */
};
/*****************************************************************************
* Prototypes from input_ext-dec.c
*****************************************************************************/
VLC_EXPORT
(
void
,
input_DeletePES
,
(
input_buffers_t
*
,
pes_packet_t
*
)
);
#endif
/* "input_ext-dec.h" */
include/input_ext-intf.h
deleted
100644 → 0
View file @
7255e433
This diff is collapsed.
Click to expand it.
include/input_ext-plugins.h
deleted
100644 → 0
View file @
7255e433
/*****************************************************************************
* input_ext-plugins.h: structures of the input not exported to other modules,
* but exported to plug-ins
*****************************************************************************
* Copyright (C) 1999-2002 VideoLAN
* $Id$
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
/*
* Communication plugin -> input
*/
/* FIXME: you've gotta move this move this, you've gotta move this move this */
#define PADDING_PACKET_SIZE 188
/* Size of the NULL packet inserted in case
* of data loss (this should be < 188). */
#define PADDING_PACKET_NUMBER 10
/* Number of padding packets top insert to
* escape a decoder. */
#define INPUT_DEFAULT_BUFSIZE 65536
/* Default buffer size to use when none
* is natural. */
#define NO_SEEK -1
/*****************************************************************************
* Prototypes from input_programs.c
*****************************************************************************/
VLC_EXPORT
(
int
,
input_InitStream
,(
input_thread_t
*
,
size_t
)
);
VLC_EXPORT
(
void
,
input_EndStream
,
(
input_thread_t
*
)
);
VLC_EXPORT
(
pgrm_descriptor_t
*
,
input_FindProgram
,(
input_thread_t
*
,
uint16_t
)
);
VLC_EXPORT
(
pgrm_descriptor_t
*
,
input_AddProgram
,
(
input_thread_t
*
,
uint16_t
,
size_t
)
);
VLC_EXPORT
(
void
,
input_DelProgram
,(
input_thread_t
*
,
pgrm_descriptor_t
*
)
);
VLC_EXPORT
(
int
,
input_SetProgram
,(
input_thread_t
*
,
pgrm_descriptor_t
*
)
);
VLC_EXPORT
(
input_area_t
*
,
input_AddArea
,(
input_thread_t
*
,
uint16_t
,
uint16_t
)
);
VLC_EXPORT
(
void
,
input_DelArea
,
(
input_thread_t
*
,
input_area_t
*
)
);
VLC_EXPORT
(
es_descriptor_t
*
,
input_FindES
,(
input_thread_t
*
,
uint16_t
)
);
VLC_EXPORT
(
es_descriptor_t
*
,
input_AddES
,
(
input_thread_t
*
,
pgrm_descriptor_t
*
,
uint16_t
,
int
,
char
const
*
,
size_t
)
);
VLC_EXPORT
(
void
,
input_DelES
,
(
input_thread_t
*
,
es_descriptor_t
*
)
);
VLC_EXPORT
(
int
,
input_SelectES
,
(
input_thread_t
*
,
es_descriptor_t
*
)
);
VLC_EXPORT
(
int
,
input_UnselectES
,(
input_thread_t
*
,
es_descriptor_t
*
)
);
/*****************************************************************************
* Prototypes from input_dec.c
*****************************************************************************/
VLC_EXPORT
(
decoder_t
*
,
input_RunDecoder
,
(
input_thread_t
*
,
es_descriptor_t
*
)
);
VLC_EXPORT
(
void
,
input_EndDecoder
,
(
input_thread_t
*
,
es_descriptor_t
*
)
);
VLC_EXPORT
(
void
,
input_DecodePES
,
(
decoder_t
*
,
pes_packet_t
*
)
);
VLC_EXPORT
(
void
,
input_DecodeBlock
,(
decoder_t
*
,
block_t
*
)
);
void
input_EscapeDiscontinuity
(
input_thread_t
*
);
void
input_EscapeAudioDiscontinuity
(
input_thread_t
*
);
/*****************************************************************************
* Prototypes from es_out.c
*****************************************************************************/
/* input internal use only */
es_out_t
*
input_EsOutNew
(
input_thread_t
*
);
void
input_EsOutDelete
(
es_out_t
*
);
stream_t
*
input_StreamNew
(
input_thread_t
*
);
void
input_StreamDelete
(
stream_t
*
);
/*****************************************************************************
* Prototypes from input_clock.c
*****************************************************************************/
void
input_ClockInit
(
pgrm_descriptor_t
*
);
VLC_EXPORT
(
int
,
input_ClockManageControl
,
(
input_thread_t
*
,
pgrm_descriptor_t
*
,
mtime_t
)
);
VLC_EXPORT
(
void
,
input_ClockManageRef
,
(
input_thread_t
*
,
pgrm_descriptor_t
*
,
mtime_t
)
);
VLC_EXPORT
(
mtime_t
,
input_ClockGetTS
,
(
input_thread_t
*
,
pgrm_descriptor_t
*
,
mtime_t
)
);
/*****************************************************************************
* Prototypes from input_ext-plugins.h (buffers management)
*****************************************************************************/
#define input_BuffersInit(a) __input_BuffersInit(VLC_OBJECT(a))
void
*
__input_BuffersInit
(
vlc_object_t
*
);
VLC_EXPORT
(
void
,
input_BuffersEnd
,
(
input_thread_t
*
,
input_buffers_t
*
)
);
VLC_EXPORT
(
data_buffer_t
*
,
input_NewBuffer
,
(
input_buffers_t
*
,
size_t
)
);
VLC_EXPORT
(
void
,
input_ReleaseBuffer
,
(
input_buffers_t
*
,
data_buffer_t
*
)
);
VLC_EXPORT
(
data_packet_t
*
,
input_ShareBuffer
,
(
input_buffers_t
*
,
data_buffer_t
*
)
);
VLC_EXPORT
(
data_packet_t
*
,
input_NewPacket
,
(
input_buffers_t
*
,
size_t
)
);
VLC_EXPORT
(
void
,
input_DeletePacket
,
(
input_buffers_t
*
,
data_packet_t
*
)
);
VLC_EXPORT
(
pes_packet_t
*
,
input_NewPES
,
(
input_buffers_t
*
)
);
VLC_EXPORT
(
ssize_t
,
input_FillBuffer
,
(
input_thread_t
*
)
);
VLC_EXPORT
(
ssize_t
,
input_Peek
,
(
input_thread_t
*
,
byte_t
**
,
size_t
)
);
VLC_EXPORT
(
ssize_t
,
input_SplitBuffer
,
(
input_thread_t
*
,
data_packet_t
**
,
size_t
)
);
VLC_EXPORT
(
int
,
input_AccessInit
,
(
input_thread_t
*
)
);
VLC_EXPORT
(
void
,
input_AccessReinit
,
(
input_thread_t
*
)
);
VLC_EXPORT
(
void
,
input_AccessEnd
,
(
input_thread_t
*
)
);
/*
* Optional standard file descriptor operations (input_ext-plugins.h)
*/
/*****************************************************************************
* input_socket_t: private access plug-in data
*****************************************************************************/
struct
input_socket_t
{
/* Unbuffered file descriptor */
int
i_handle
;
};
include/stream_control.h
deleted
100644 → 0
View file @
7255e433
/*****************************************************************************
* stream_control.h: structures of the input exported everywhere
* This header provides a structure so that everybody knows the state
* of the reading.
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
* $Id: stream_control.h,v 1.12 2004/01/25 18:17:08 zorglub Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
#ifndef _STREAM_CONTROL_H
#define _STREAM_CONTROL_H 1
/* Structures exported to interface, input and decoders */
/*****************************************************************************
* stream_ctrl_t
*****************************************************************************
* Describe the state of a program stream.
*****************************************************************************/
struct
stream_ctrl_t
{
vlc_mutex_t
control_lock
;
int
i_status
;
/* if i_status == FORWARD_S or BACKWARD_S */
int
i_rate
;
vlc_bool_t
b_mute
;
vlc_bool_t
b_grayscale
;
/* use color or grayscale */
};
/* Possible status : */
enum
stream_status_e
{
UNDEF_S
=
0
,
PLAYING_S
=
1
,
PAUSE_S
=
2
,
FORWARD_S
=
3
,
BACKWARD_S
=
4
,
INIT_S
=
10
,
END_S
=
11
};
#define DEFAULT_RATE 1000
#define MINIMAL_RATE 31
/* Up to 32/1 */
#define MAXIMAL_RATE 8000
/* Up to 1/8 */
#endif
/* "stream_control.h" */
include/vlc/decoder.h
View file @
53b4094f
...
...
@@ -2,7 +2,7 @@
* decoder.h: header for vlc decoders
*****************************************************************************
* Copyright (C) 2002 VideoLAN
* $Id
: decoder.h,v 1.4 2004/01/25 18:17:08 zorglub Exp
$
* $Id$
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
...
...
@@ -35,8 +35,6 @@ extern "C" {
* Required internal headers
*****************************************************************************/
#include "vlc_block.h"
#include "stream_control.h"
#include "input_ext-dec.h"
#include "vlc_video.h"
#include "audio_output.h"
#include "vlc_codec.h"
...
...
include/vlc/input.h
View file @
53b4094f
...
...
@@ -2,7 +2,7 @@
* input.h: input modules header for vlc
*****************************************************************************
* Copyright (C) 2002 VideoLAN
* $Id
: input.h,v 1.4 2004/01/25 18:17:08 zorglub Exp
$
* $Id$
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
...
...
@@ -35,11 +35,15 @@ extern "C" {
* Required internal headers
*****************************************************************************/
#include "vlc_block.h"
#include "stream_control.h"
#include "input_ext-intf.h"
/* input_thread_s */
#include "input_ext-dec.h"
/* data_packet_s */
#include "input_ext-plugins.h"
#include "ninput.h"
#include "vlc_es.h"
#include "vlc_es_out.h"
#include "vlc_input.h"
#include "vlc_access.h"
#include "vlc_stream.h"
#include "vlc_demux.h"
# ifdef __cplusplus
}
...
...
include/vlc/intf.h
View file @
53b4094f
...
...
@@ -35,9 +35,8 @@ extern "C" {
* Required internal headers
*****************************************************************************/
#include "vlc_interface.h"
#include "vlc_input.h"
#include "intf_eject.h"
#include "stream_control.h"
#include "input_ext-intf.h"
#include "vlc_playlist.h"
# ifdef __cplusplus
...
...
include/vlc_codec.h
View file @
53b4094f
...
...
@@ -23,8 +23,6 @@
#ifndef _VLC_CODEC_H
#define _VLC_CODEC_H 1
#include "ninput.h"
/**
* \file
* This file defines the structure and types used by decoders and encoders
...
...
include/vlc_objects.h
View file @
53b4094f
...
...
@@ -51,6 +51,7 @@
#define VLC_OBJECT_ANNOUNCE (-17)
#define VLC_OBJECT_DEMUX (-18)
#define VLC_OBJECT_ACCESS (-19)
#define VLC_OBJECT_STREAM (-20)
#define VLC_OBJECT_GENERIC (-666)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment