Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
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
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
...
@@ -48,7 +48,8 @@ E: gbazin@netcourrier.com
C: gbazin
C: gbazin
D: mingw32 port, various win32 fixes
D: mingw32 port, various win32 fixes
D: DirectX audio and video output, win32 WaveOut audio output
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
D: Configuration file infrastructure
S: France
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
# VLC MAINTAINERS
#
#
...
@@ -79,7 +79,7 @@
...
@@ -79,7 +79,7 @@
- AC3 SPDIF : [stef]
- AC3 SPDIF : [stef]
- A/52 : [gibalou] ([meuuh])
- A/52 : [gibalou] ([meuuh])
- SPU : [sam]
- SPU : [sam]
- Ogg/Vorbis :
Xavier Maillard
- Ogg/Vorbis :
[gibalou]
* DOCUMENTATION
* 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
# VLC STATUS
#
#
...
@@ -46,8 +46,6 @@ Jon Lech Johansen <jon-vl@nanocrew.net> :
...
@@ -46,8 +46,6 @@ Jon Lech Johansen <jon-vl@nanocrew.net> :
Xavier Maillard <zedek@fxgsproject.org> :
Xavier Maillard <zedek@fxgsproject.org> :
- Xinerama fullscreen support
- Xinerama fullscreen support
ETA : completed
ETA : completed
- Ogg/Vorbis decoder plug-in
ETA : soon
Christophe Massiot <massiot@via.ecp.fr> :
Christophe Massiot <massiot@via.ecp.fr> :
- Audio output 3
- Audio output 3
...
...
TODO
View file @
bfc4f0f5
...
@@ -478,7 +478,7 @@ Description: Ogg/Vorbis audio decoder support
...
@@ -478,7 +478,7 @@ Description: Ogg/Vorbis audio decoder support
The
Ogg
/
Vorbis
audio
format
is
a
free
alternative
to
the
patent
-
encumbered
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
MP3
format
.
The
system
packets
are
quite
different
than
the
MPEG
ones
,
so
adding
support
for
it
would
require
a
lot
of
code
rewrite
.
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
Task
:
0x23
Difficulty
:
Guru
Difficulty
:
Guru
...
...
configure.ac.in
View file @
bfc4f0f5
...
@@ -1071,6 +1071,19 @@ then
...
@@ -1071,6 +1071,19 @@ then
PLUGINS="${PLUGINS} aac"
PLUGINS="${PLUGINS} aac"
fi
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
dnl Codec plugins
dnl Codec plugins
dnl
dnl
...
@@ -1355,20 +1368,6 @@ then
...
@@ -1355,20 +1368,6 @@ then
PLUGINS="${PLUGINS} cinepak"
PLUGINS="${PLUGINS} cinepak"
fi
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
dnl DV plugin
dnl DV plugin
dnl
dnl
...
@@ -1382,6 +1381,19 @@ then
...
@@ -1382,6 +1381,19 @@ then
],[])
],[])
fi
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
dnl Video plugins
dnl Video plugins
dnl
dnl
...
...
include/input_ext-dec.h
View file @
bfc4f0f5
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* input_ext-dec.h: structures exported to the VideoLAN decoders
* input_ext-dec.h: structures exported to the VideoLAN decoders
*****************************************************************************
*****************************************************************************
* Copyright (C) 1999-2001 VideoLAN
* 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>
* Authors: Christophe Massiot <massiot@via.ecp.fr>
* Michel Kaempf <maxx@via.ecp.fr>
* Michel Kaempf <maxx@via.ecp.fr>
...
@@ -209,6 +209,8 @@ struct bit_stream_t
...
@@ -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
(
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
(
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
(
void
,
BitstreamNextDataPacket
,
(
bit_stream_t
*
)
);
VLC_EXPORT
(
u32
,
UnalignedShowBits
,
(
bit_stream_t
*
,
unsigned
int
)
);
VLC_EXPORT
(
u32
,
UnalignedShowBits
,
(
bit_stream_t
*
,
unsigned
int
)
);
VLC_EXPORT
(
void
,
UnalignedRemoveBits
,
(
bit_stream_t
*
)
);
VLC_EXPORT
(
void
,
UnalignedRemoveBits
,
(
bit_stream_t
*
)
);
...
...
modules/LIST
View file @
bfc4f0f5
List of vlc plugins
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.
* a52_system: input module for A52 decapsulation.
...
@@ -125,6 +125,8 @@ $Id: LIST,v 1.2 2002/09/15 20:54:12 jpsaman Exp $
...
@@ -125,6 +125,8 @@ $Id: LIST,v 1.2 2002/09/15 20:54:12 jpsaman Exp $
* null: a module with no capabilities.
* null: a module with no capabilities.
* ogg: input module for OGG decapsulation.
* qt: interface module using the Qt widget set.
* qt: interface module using the Qt widget set.
* qte: video output module for Qt Embedded.
* qte: video output module for Qt Embedded.
...
@@ -137,6 +139,8 @@ $Id: LIST,v 1.2 2002/09/15 20:54:12 jpsaman Exp $
...
@@ -137,6 +139,8 @@ $Id: LIST,v 1.2 2002/09/15 20:54:12 jpsaman Exp $
* vcd: input module for accessing Video CDs.
* vcd: input module for accessing Video CDs.
* vorbis: a vorbis audio decoder using the libvorbis library.
* waveout: simple audio output module for Windows.
* waveout: simple audio output module for Windows.
* x11: video output module using the X11 API.
* x11: video output module using the X11 API.
...
...
modules/codec/Modules.am
View file @
bfc4f0f5
SOURCES_a52 = modules/codec/a52.c
SOURCES_a52 = modules/codec/a52.c
SOURCES_lpcm = modules/codec/lpcm.c
SOURCES_lpcm = modules/codec/lpcm.c
SOURCES_araw = modules/codec/araw.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_a52sys = modules/demux/a52sys.c
SOURCES_ogg = modules/demux/ogg.c
src/input/input_ext-dec.c
View file @
bfc4f0f5
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* input_ext-dec.c: services to the decoders
* input_ext-dec.c: services to the decoders
*****************************************************************************
*****************************************************************************
* Copyright (C) 1998-2001 VideoLAN
* 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>
* Authors: Christophe Massiot <massiot@via.ecp.fr>
*
*
...
@@ -111,38 +111,25 @@ void DecoderError( decoder_fifo_t * p_fifo )
...
@@ -111,38 +111,25 @@ void DecoderError( decoder_fifo_t * p_fifo )
}
}
/*****************************************************************************
/*****************************************************************************
* NextDataPacket: go to the data packet after *pp_data, return 1 if we
* GetPES: return the first PES from the fifo
* changed PES
*****************************************************************************/
*****************************************************************************/
static
inline
vlc_bool_t
_NextDataPacket
(
decoder_fifo_t
*
p_fifo
,
static
inline
pes_packet_t
*
_GetPES
(
decoder_fifo_t
*
p_fifo
)
data_packet_t
**
pp_data
)
{
{
vlc_bool_t
b_new_pes
;
pes_packet_t
*
p_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
;
vlc_mutex_lock
(
&
p_fifo
->
data_lock
);
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
)
if
(
p_fifo
->
p_first
==
NULL
)
{
{
/* No PES in the FIFO. p_last is no longer valid. */
/* No PES in the FIFO. p_last is no longer valid. */
p_fifo
->
pp_last
=
&
p_fifo
->
p_first
;
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
/* Signal the input thread we're waiting. This is only
* needed in case of slave clock (ES plug-in) but it won't
* needed in case of slave clock (ES plug-in) but it won't
* harm. */
* harm. */
...
@@ -152,11 +139,64 @@ static inline vlc_bool_t _NextDataPacket( decoder_fifo_t * p_fifo,
...
@@ -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
);
vlc_cond_wait
(
&
p_fifo
->
data_wait
,
&
p_fifo
->
data_lock
);
}
}
/* The next packet could be found in the next PES packet */
p_pes
=
p_fifo
->
p_first
;
*
pp_data
=
p_fifo
->
p_first
->
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
);
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
;
b_new_pes
=
1
;
}
}
else
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