Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-2-2
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-2-2
Commits
bfc4f0f5
Commit
bfc4f0f5
authored
Oct 23, 2002
by
Gildas Bazin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* ALL: New ogg demux and vorbis codec modules for preliminary support of ogg/vorbis streams.
parent
0330bbed
Changes
10
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
111 additions
and
52 deletions
+111
-52
AUTHORS
AUTHORS
+2
-1
MAINTAINERS
MAINTAINERS
+2
-2
STATUS
STATUS
+1
-3
TODO
TODO
+1
-1
configure.ac.in
configure.ac.in
+26
-14
include/input_ext-dec.h
include/input_ext-dec.h
+3
-1
modules/LIST
modules/LIST
+5
-1
modules/codec/Modules.am
modules/codec/Modules.am
+1
-0
modules/demux/Modules.am
modules/demux/Modules.am
+1
-0
src/input/input_ext-dec.c
src/input/input_ext-dec.c
+69
-29
No files found.
AUTHORS
View file @
bfc4f0f5
...
...
@@ -48,7 +48,8 @@ E: gbazin@netcourrier.com
C: gbazin
D: mingw32 port, various win32 fixes
D: DirectX audio and video output, win32 WaveOut audio output
D: a52 decoder using liba52
D: a52 decoder using liba52 and vorbis decoder using libvorbis
D: ogg demultiplexer
D: Configuration file infrastructure
S: France
...
...
MAINTAINERS
View file @
bfc4f0f5
# $Id: MAINTAINERS,v 1.
2 2002/08/16 14:30:39 bozo
Exp $
# $Id: MAINTAINERS,v 1.
3 2002/10/23 23:17:45 gbazin
Exp $
#
# VLC MAINTAINERS
#
...
...
@@ -79,7 +79,7 @@
- AC3 SPDIF : [stef]
- A/52 : [gibalou] ([meuuh])
- SPU : [sam]
- Ogg/Vorbis :
Xavier Maillard
- Ogg/Vorbis :
[gibalou]
* DOCUMENTATION
...
...
STATUS
View file @
bfc4f0f5
# $Id: STATUS,v 1.
4 2002/08/16 14:30:39 bozo
Exp $
# $Id: STATUS,v 1.
5 2002/10/23 23:17:45 gbazin
Exp $
#
# VLC STATUS
#
...
...
@@ -46,8 +46,6 @@ Jon Lech Johansen <jon-vl@nanocrew.net> :
Xavier Maillard <zedek@fxgsproject.org> :
- Xinerama fullscreen support
ETA : completed
- Ogg/Vorbis decoder plug-in
ETA : soon
Christophe Massiot <massiot@via.ecp.fr> :
- Audio output 3
...
...
TODO
View file @
bfc4f0f5
...
...
@@ -478,7 +478,7 @@ Description: Ogg/Vorbis audio decoder support
The
Ogg
/
Vorbis
audio
format
is
a
free
alternative
to
the
patent
-
encumbered
MP3
format
.
The
system
packets
are
quite
different
than
the
MPEG
ones
,
so
adding
support
for
it
would
require
a
lot
of
code
rewrite
.
Status
:
In
the
works
(
Xavier
Maillard
)
Status
:
Done
24
Nov
2002
(
gbazin
)
Task
:
0x23
Difficulty
:
Guru
...
...
configure.ac.in
View file @
bfc4f0f5
...
...
@@ -1071,6 +1071,19 @@ then
PLUGINS="${PLUGINS} aac"
fi
dnl
dnl ogg plugin
dnl
AC_ARG_ENABLE(ogg,
[ --enable-ogg Ogg demux support (default enabled)])
if test "x${enable_ogg}" != "xno"
then
AC_CHECK_HEADERS(ogg/ogg.h, [
PLUGINS="${PLUGINS} ogg"
LDFLAGS_ogg="${LDFLAGS_ogg} -logg"
],[])
fi
dnl
dnl Codec plugins
dnl
...
...
@@ -1355,20 +1368,6 @@ then
PLUGINS="${PLUGINS} cinepak"
fi
dnl
dnl ogg vorbis plugin
dnl
AC_ARG_ENABLE(vorbis,
[ --enable-vorbis Ogg/Vorbis decoder support (default enabled)])
if test "x${enable_vorbis}" != "xno"
then
AC_CHECK_HEADERS(ogg/ogg.h, [
dnl disabled for the moment
#PLUGINS="${PLUGINS} ogg vorbis"
LDFLAGS_vorbis="${LDFLAGS_vorbis} -lvorbis"
],[])
fi
dnl
dnl DV plugin
dnl
...
...
@@ -1382,6 +1381,19 @@ then
],[])
fi
dnl
dnl Vorbis plugin
dnl
AC_ARG_ENABLE(vorbis,
[ --enable-vorbis Vorbis decoder support (default enabled)])
if test "x${enable_vorbis}" != "xno"
then
AC_CHECK_HEADERS(vorbis/codec.h, [
PLUGINS="${PLUGINS} vorbis"
LDFLAGS_vorbis="${LDFLAGS_vorbis} -lvorbis"
],[])
fi
dnl
dnl Video plugins
dnl
...
...
include/input_ext-dec.h
View file @
bfc4f0f5
...
...
@@ -2,7 +2,7 @@
* input_ext-dec.h: structures exported to the VideoLAN decoders
*****************************************************************************
* Copyright (C) 1999-2001 VideoLAN
* $Id: input_ext-dec.h,v 1.7
2 2002/10/21 10:46:34 fenrir
Exp $
* $Id: input_ext-dec.h,v 1.7
3 2002/10/23 23:17:45 gbazin
Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
* Michel Kaempf <maxx@via.ecp.fr>
...
...
@@ -209,6 +209,8 @@ struct bit_stream_t
*****************************************************************************/
VLC_EXPORT
(
void
,
InitBitstream
,
(
bit_stream_t
*
,
decoder_fifo_t
*
,
void
(
*
)(
bit_stream_t
*
,
vlc_bool_t
),
void
*
p_callback_arg
)
);
VLC_EXPORT
(
vlc_bool_t
,
NextDataPacket
,
(
decoder_fifo_t
*
,
data_packet_t
**
)
);
VLC_EXPORT
(
pes_packet_t
*
,
GetPES
,
(
decoder_fifo_t
*
)
);
VLC_EXPORT
(
pes_packet_t
*
,
NextPES
,
(
decoder_fifo_t
*
)
);
VLC_EXPORT
(
void
,
BitstreamNextDataPacket
,
(
bit_stream_t
*
)
);
VLC_EXPORT
(
u32
,
UnalignedShowBits
,
(
bit_stream_t
*
,
unsigned
int
)
);
VLC_EXPORT
(
void
,
UnalignedRemoveBits
,
(
bit_stream_t
*
)
);
...
...
modules/LIST
View file @
bfc4f0f5
List of vlc plugins
$Id: LIST,v 1.
2 2002/09/15 20:54:12 jpsama
n Exp $
$Id: LIST,v 1.
3 2002/10/23 23:17:45 gbazi
n Exp $
* a52_system: input module for A52 decapsulation.
...
...
@@ -125,6 +125,8 @@ $Id: LIST,v 1.2 2002/09/15 20:54:12 jpsaman Exp $
* null: a module with no capabilities.
* ogg: input module for OGG decapsulation.
* qt: interface module using the Qt widget set.
* qte: video output module for Qt Embedded.
...
...
@@ -137,6 +139,8 @@ $Id: LIST,v 1.2 2002/09/15 20:54:12 jpsaman Exp $
* vcd: input module for accessing Video CDs.
* vorbis: a vorbis audio decoder using the libvorbis library.
* waveout: simple audio output module for Windows.
* x11: video output module using the X11 API.
...
...
modules/codec/Modules.am
View file @
bfc4f0f5
SOURCES_a52 = modules/codec/a52.c
SOURCES_lpcm = modules/codec/lpcm.c
SOURCES_araw = modules/codec/araw.c
SOURCES_vorbis = modules/codec/vorbis.c
modules/demux/Modules.am
View file @
bfc4f0f5
SOURCES_a52sys = modules/demux/a52sys.c
SOURCES_ogg = modules/demux/ogg.c
src/input/input_ext-dec.c
View file @
bfc4f0f5
...
...
@@ -2,7 +2,7 @@
* input_ext-dec.c: services to the decoders
*****************************************************************************
* Copyright (C) 1998-2001 VideoLAN
* $Id: input_ext-dec.c,v 1.3
5 2002/10/21 10:46:34 fenrir
Exp $
* $Id: input_ext-dec.c,v 1.3
6 2002/10/23 23:17:44 gbazin
Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
*
...
...
@@ -111,38 +111,25 @@ void DecoderError( decoder_fifo_t * p_fifo )
}
/*****************************************************************************
* NextDataPacket: go to the data packet after *pp_data, return 1 if we
* changed PES
* GetPES: return the first PES from the fifo
*****************************************************************************/
static
inline
vlc_bool_t
_NextDataPacket
(
decoder_fifo_t
*
p_fifo
,
data_packet_t
**
pp_data
)
static
inline
pes_packet_t
*
_GetPES
(
decoder_fifo_t
*
p_fifo
)
{
vlc_bool_t
b_new_pes
;
/* We are looking for the next data packet that contains real data,
* and not just a PES header */
do
{
/* We were reading the last data packet of this PES packet... It's
* time to jump to the next PES packet */
if
(
(
*
pp_data
)
->
p_next
==
NULL
)
{
pes_packet_t
*
p_next
;
pes_packet_t
*
p_pes
;
vlc_mutex_lock
(
&
p_fifo
->
data_lock
);
/* Free the previous PES packet. */
p_next
=
p_fifo
->
p_first
->
p_next
;
p_fifo
->
p_first
->
p_next
=
NULL
;
input_DeletePES
(
p_fifo
->
p_packets_mgt
,
p_fifo
->
p_first
);
p_fifo
->
p_first
=
p_next
;
p_fifo
->
i_depth
--
;
if
(
p_fifo
->
p_first
==
NULL
)
{
/* No PES in the FIFO. p_last is no longer valid. */
p_fifo
->
pp_last
=
&
p_fifo
->
p_first
;
if
(
p_fifo
->
b_die
)
{
vlc_mutex_unlock
(
&
p_fifo
->
data_lock
);
return
NULL
;
}
/* Signal the input thread we're waiting. This is only
* needed in case of slave clock (ES plug-in) but it won't
* harm. */
...
...
@@ -152,11 +139,64 @@ static inline vlc_bool_t _NextDataPacket( decoder_fifo_t * p_fifo,
vlc_cond_wait
(
&
p_fifo
->
data_wait
,
&
p_fifo
->
data_lock
);
}
/* The next packet could be found in the next PES packet */
*
pp_data
=
p_fifo
->
p_first
->
p_first
;
p_pes
=
p_fifo
->
p_first
;
vlc_mutex_unlock
(
&
p_fifo
->
data_lock
);
return
p_pes
;
}
pes_packet_t
*
GetPES
(
decoder_fifo_t
*
p_fifo
)
{
return
(
_GetPES
(
p_fifo
)
);
}
/*****************************************************************************
* NextPES: free the current PES and return the next one
*****************************************************************************/
static
inline
pes_packet_t
*
_NextPES
(
decoder_fifo_t
*
p_fifo
)
{
pes_packet_t
*
p_next
;
vlc_mutex_lock
(
&
p_fifo
->
data_lock
);
/* Free the previous PES packet. */
p_next
=
p_fifo
->
p_first
->
p_next
;
p_fifo
->
p_first
->
p_next
=
NULL
;
input_DeletePES
(
p_fifo
->
p_packets_mgt
,
p_fifo
->
p_first
);
p_fifo
->
p_first
=
p_next
;
p_fifo
->
i_depth
--
;
vlc_mutex_unlock
(
&
p_fifo
->
data_lock
);
return
_GetPES
(
p_fifo
);
}
pes_packet_t
*
NextPES
(
decoder_fifo_t
*
p_fifo
)
{
return
(
_NextPES
(
p_fifo
)
);
}
/*****************************************************************************
* NextDataPacket: go to the data packet after *pp_data, return 1 if we
* changed PES
*****************************************************************************/
static
inline
vlc_bool_t
_NextDataPacket
(
decoder_fifo_t
*
p_fifo
,
data_packet_t
**
pp_data
)
{
vlc_bool_t
b_new_pes
;
/* We are looking for the next data packet that contains real data,
* and not just a PES header */
do
{
/* We were reading the last data packet of this PES packet... It's
* time to jump to the next PES packet */
if
(
(
*
pp_data
)
->
p_next
==
NULL
)
{
/* The next packet could be found in the next PES packet */
*
pp_data
=
(
_NextPES
(
p_fifo
))
->
p_first
;
b_new_pes
=
1
;
}
else
...
...
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