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
fe689840
Commit
fe689840
authored
Oct 03, 2007
by
Rafaël Carré
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Demuxers: do not load "meta reader" module if the input item has already been preparsed.
parent
eff0d355
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
173 additions
and
108 deletions
+173
-108
modules/codec/ffmpeg/demux.c
modules/codec/ffmpeg/demux.c
+21
-18
modules/demux/flac.c
modules/demux/flac.c
+35
-24
modules/demux/mpc.c
modules/demux/mpc.c
+24
-12
modules/demux/mpeg/m4a.c
modules/demux/mpeg/m4a.c
+25
-13
modules/demux/mpeg/mpga.c
modules/demux/mpeg/mpga.c
+23
-11
modules/demux/ogg.c
modules/demux/ogg.c
+19
-16
modules/demux/tta.c
modules/demux/tta.c
+26
-14
No files found.
modules/codec/ffmpeg/demux.c
View file @
fe689840
...
@@ -258,6 +258,8 @@ int E_(OpenDemux)( vlc_object_t *p_this )
...
@@ -258,6 +258,8 @@ int E_(OpenDemux)( vlc_object_t *p_this )
input_thread_t
*
p_input
=
(
input_thread_t
*
)
vlc_object_find
(
p_demux
,
VLC_OBJECT_INPUT
,
FIND_PARENT
);
input_thread_t
*
p_input
=
(
input_thread_t
*
)
vlc_object_find
(
p_demux
,
VLC_OBJECT_INPUT
,
FIND_PARENT
);
if
(
p_input
)
if
(
p_input
)
{
if
(
!
(
input_GetItem
(
p_input
)
->
p_meta
->
i_status
&
ITEM_PREPARSED
)
)
{
{
p_demux
->
p_private
=
malloc
(
sizeof
(
demux_meta_t
)
);
p_demux
->
p_private
=
malloc
(
sizeof
(
demux_meta_t
)
);
if
(
!
p_demux
->
p_private
)
if
(
!
p_demux
->
p_private
)
...
@@ -278,9 +280,10 @@ int E_(OpenDemux)( vlc_object_t *p_this )
...
@@ -278,9 +280,10 @@ int E_(OpenDemux)( vlc_object_t *p_this )
free
(
p_demux_meta
->
attachments
[
i
]
);
free
(
p_demux_meta
->
attachments
[
i
]
);
TAB_CLEAN
(
p_demux_meta
->
i_attachments
,
p_demux_meta
->
attachments
);
TAB_CLEAN
(
p_demux_meta
->
i_attachments
,
p_demux_meta
->
attachments
);
}
}
vlc_object_release
(
p_input
);
free
(
p_demux
->
p_private
);
free
(
p_demux
->
p_private
);
}
}
vlc_object_release
(
p_input
);
}
return
VLC_SUCCESS
;
return
VLC_SUCCESS
;
}
}
...
...
modules/demux/flac.c
View file @
fe689840
...
@@ -155,9 +155,17 @@ static int Open( vlc_object_t * p_this )
...
@@ -155,9 +155,17 @@ static int Open( vlc_object_t * p_this )
}
}
/* Parse possible id3 header */
/* Parse possible id3 header */
input_thread_t
*
p_input
=
(
input_thread_t
*
)
vlc_object_find
(
p_demux
,
VLC_OBJECT_INPUT
,
FIND_PARENT
);
if
(
p_input
)
{
if
(
!
(
input_GetItem
(
p_input
)
->
p_meta
->
i_status
&
ITEM_PREPARSED
)
)
{
p_demux
->
p_private
=
malloc
(
sizeof
(
demux_meta_t
)
);
p_demux
->
p_private
=
malloc
(
sizeof
(
demux_meta_t
)
);
if
(
!
p_demux
->
p_private
)
if
(
!
p_demux
->
p_private
)
{
vlc_object_release
(
p_input
);
return
VLC_ENOMEM
;
return
VLC_ENOMEM
;
}
if
(
(
p_id3
=
module_Need
(
p_demux
,
"meta reader"
,
NULL
,
0
)
)
)
if
(
(
p_id3
=
module_Need
(
p_demux
,
"meta reader"
,
NULL
,
0
)
)
)
{
{
demux_meta_t
*
p_demux_meta
=
(
demux_meta_t
*
)
p_demux
->
p_private
;
demux_meta_t
*
p_demux_meta
=
(
demux_meta_t
*
)
p_demux
->
p_private
;
...
@@ -179,10 +187,13 @@ static int Open( vlc_object_t * p_this )
...
@@ -179,10 +187,13 @@ static int Open( vlc_object_t * p_this )
TAB_APPEND_CAST
(
(
input_attachment_t
**
),
TAB_APPEND_CAST
(
(
input_attachment_t
**
),
p_sys
->
i_attachments
,
p_sys
->
attachments
,
p_sys
->
i_attachments
,
p_sys
->
attachments
,
p_demux_meta
->
attachments
[
p_demux_meta
->
i_attachments
]
);
p_demux_meta
->
attachments
[
p_demux_meta
->
i_attachments
]
);
TAB_CLEAN
(
p_demux_meta
->
i_attachments
,
TAB_CLEAN
(
p_demux_meta
->
i_attachments
,
p_demux_meta
->
attachments
);
p_demux_meta
->
attachments
);
}
}
free
(
p_demux
->
p_private
);
free
(
p_demux
->
p_private
);
}
vlc_object_release
(
p_input
);
}
if
(
p_sys
->
i_cover_idx
<
p_sys
->
i_attachments
)
if
(
p_sys
->
i_cover_idx
<
p_sys
->
i_attachments
)
{
{
...
...
modules/demux/mpc.c
View file @
fe689840
...
@@ -189,9 +189,17 @@ static int Open( vlc_object_t * p_this )
...
@@ -189,9 +189,17 @@ static int Open( vlc_object_t * p_this )
}
}
/* Parse possible id3 header */
/* Parse possible id3 header */
input_thread_t
*
p_input
=
(
input_thread_t
*
)
vlc_object_find
(
p_demux
,
VLC_OBJECT_INPUT
,
FIND_PARENT
);
if
(
p_input
)
{
if
(
!
(
input_GetItem
(
p_input
)
->
p_meta
->
i_status
&
ITEM_PREPARSED
)
)
{
p_demux
->
p_private
=
malloc
(
sizeof
(
demux_meta_t
)
);
p_demux
->
p_private
=
malloc
(
sizeof
(
demux_meta_t
)
);
if
(
!
p_demux
->
p_private
)
if
(
!
p_demux
->
p_private
)
{
vlc_object_release
(
p_input
);
return
VLC_ENOMEM
;
return
VLC_ENOMEM
;
}
if
(
(
p_id3
=
module_Need
(
p_demux
,
"meta reader"
,
NULL
,
0
)
)
)
if
(
(
p_id3
=
module_Need
(
p_demux
,
"meta reader"
,
NULL
,
0
)
)
)
{
{
demux_meta_t
*
p_demux_meta
=
(
demux_meta_t
*
)
p_demux
->
p_private
;
demux_meta_t
*
p_demux_meta
=
(
demux_meta_t
*
)
p_demux
->
p_private
;
...
@@ -200,9 +208,13 @@ static int Open( vlc_object_t * p_this )
...
@@ -200,9 +208,13 @@ static int Open( vlc_object_t * p_this )
int
i
;
int
i
;
for
(
i
=
0
;
i
<
p_demux_meta
->
i_attachments
;
i
++
)
for
(
i
=
0
;
i
<
p_demux_meta
->
i_attachments
;
i
++
)
free
(
p_demux_meta
->
attachments
[
i
]
);
free
(
p_demux_meta
->
attachments
[
i
]
);
TAB_CLEAN
(
p_demux_meta
->
i_attachments
,
p_demux_meta
->
attachments
);
TAB_CLEAN
(
p_demux_meta
->
i_attachments
,
p_demux_meta
->
attachments
);
}
}
free
(
p_demux
->
p_private
);
free
(
p_demux
->
p_private
);
}
vlc_object_release
(
p_input
);
}
if
(
!
p_sys
->
p_meta
)
if
(
!
p_sys
->
p_meta
)
p_sys
->
p_meta
=
vlc_meta_New
();
p_sys
->
p_meta
=
vlc_meta_New
();
...
...
modules/demux/mpeg/m4a.c
View file @
fe689840
...
@@ -110,9 +110,17 @@ static int Open( vlc_object_t * p_this )
...
@@ -110,9 +110,17 @@ static int Open( vlc_object_t * p_this )
LOAD_PACKETIZER_OR_FAIL
(
p_sys
->
p_packetizer
,
"mp4 audio"
);
LOAD_PACKETIZER_OR_FAIL
(
p_sys
->
p_packetizer
,
"mp4 audio"
);
/* Parse possible id3 header */
/* Parse possible id3 header */
input_thread_t
*
p_input
=
(
input_thread_t
*
)
vlc_object_find
(
p_demux
,
VLC_OBJECT_INPUT
,
FIND_PARENT
);
if
(
p_input
)
{
if
(
!
(
input_GetItem
(
p_input
)
->
p_meta
->
i_status
&
ITEM_PREPARSED
)
)
{
p_demux
->
p_private
=
malloc
(
sizeof
(
demux_meta_t
)
);
p_demux
->
p_private
=
malloc
(
sizeof
(
demux_meta_t
)
);
if
(
!
p_demux
->
p_private
)
if
(
!
p_demux
->
p_private
)
{
vlc_object_release
(
p_input
);
return
VLC_ENOMEM
;
return
VLC_ENOMEM
;
}
if
(
(
p_id3
=
module_Need
(
p_demux
,
"meta reader"
,
NULL
,
0
)
)
)
if
(
(
p_id3
=
module_Need
(
p_demux
,
"meta reader"
,
NULL
,
0
)
)
)
{
{
demux_meta_t
*
p_demux_meta
=
(
demux_meta_t
*
)
p_demux
->
p_private
;
demux_meta_t
*
p_demux_meta
=
(
demux_meta_t
*
)
p_demux
->
p_private
;
...
@@ -122,9 +130,13 @@ static int Open( vlc_object_t * p_this )
...
@@ -122,9 +130,13 @@ static int Open( vlc_object_t * p_this )
int
i
;
int
i
;
for
(
i
=
0
;
i
<
p_demux_meta
->
i_attachments
;
i
++
)
for
(
i
=
0
;
i
<
p_demux_meta
->
i_attachments
;
i
++
)
free
(
p_demux_meta
->
attachments
[
i
]
);
free
(
p_demux_meta
->
attachments
[
i
]
);
TAB_CLEAN
(
p_demux_meta
->
i_attachments
,
p_demux_meta
->
attachments
);
TAB_CLEAN
(
p_demux_meta
->
i_attachments
,
p_demux_meta
->
attachments
);
}
}
free
(
p_demux
->
p_private
);
free
(
p_demux
->
p_private
);
}
vlc_object_release
(
p_input
);
}
return
VLC_SUCCESS
;
return
VLC_SUCCESS
;
}
}
...
...
modules/demux/mpeg/mpga.c
View file @
fe689840
...
@@ -255,9 +255,18 @@ static int Open( vlc_object_t * p_this )
...
@@ -255,9 +255,18 @@ static int Open( vlc_object_t * p_this )
p_sys
->
p_block_out
=
p_block_out
;
p_sys
->
p_block_out
=
p_block_out
;
/* Parse possible id3 header */
/* Parse possible id3 header */
input_thread_t
*
p_input
=
(
input_thread_t
*
)
vlc_object_find
(
p_demux
,
VLC_OBJECT_INPUT
,
FIND_PARENT
);
if
(
p_input
)
{
if
(
!
(
input_GetItem
(
p_input
)
->
p_meta
->
i_status
&
ITEM_PREPARSED
)
)
{
p_demux
->
p_private
=
malloc
(
sizeof
(
demux_meta_t
)
);
p_demux
->
p_private
=
malloc
(
sizeof
(
demux_meta_t
)
);
if
(
!
p_demux
->
p_private
)
if
(
!
p_demux
->
p_private
)
{
vlc_object_release
(
p_input
);
return
VLC_ENOMEM
;
return
VLC_ENOMEM
;
}
if
(
(
p_id3
=
module_Need
(
p_demux
,
"meta reader"
,
NULL
,
0
)
)
)
if
(
(
p_id3
=
module_Need
(
p_demux
,
"meta reader"
,
NULL
,
0
)
)
)
{
{
demux_meta_t
*
p_demux_meta
=
(
demux_meta_t
*
)
p_demux
->
p_private
;
demux_meta_t
*
p_demux_meta
=
(
demux_meta_t
*
)
p_demux
->
p_private
;
...
@@ -268,6 +277,9 @@ static int Open( vlc_object_t * p_this )
...
@@ -268,6 +277,9 @@ static int Open( vlc_object_t * p_this )
p_sys
->
attachments
=
p_demux_meta
->
attachments
;
p_sys
->
attachments
=
p_demux_meta
->
attachments
;
}
}
free
(
p_demux
->
p_private
);
free
(
p_demux
->
p_private
);
}
vlc_object_release
(
p_input
);
}
/* */
/* */
p_sys
->
p_packetizer
->
fmt_out
.
b_packetized
=
VLC_TRUE
;
p_sys
->
p_packetizer
->
fmt_out
.
b_packetized
=
VLC_TRUE
;
...
...
modules/demux/ogg.c
View file @
fe689840
...
@@ -210,6 +210,8 @@ static int Open( vlc_object_t * p_this )
...
@@ -210,6 +210,8 @@ static int Open( vlc_object_t * p_this )
p_input
=
(
input_thread_t
*
)
vlc_object_find
(
p_demux
,
VLC_OBJECT_INPUT
,
FIND_PARENT
);
p_input
=
(
input_thread_t
*
)
vlc_object_find
(
p_demux
,
VLC_OBJECT_INPUT
,
FIND_PARENT
);
if
(
p_input
)
if
(
p_input
)
{
if
(
!
(
input_GetItem
(
p_input
)
->
p_meta
->
i_status
&
ITEM_PREPARSED
)
)
{
{
p_demux
->
p_private
=
malloc
(
sizeof
(
demux_meta_t
)
);
p_demux
->
p_private
=
malloc
(
sizeof
(
demux_meta_t
)
);
if
(
!
p_demux
->
p_private
)
if
(
!
p_demux
->
p_private
)
...
@@ -228,9 +230,10 @@ static int Open( vlc_object_t * p_this )
...
@@ -228,9 +230,10 @@ static int Open( vlc_object_t * p_this )
p_sys
->
i_attachments
=
p_demux_meta
->
i_attachments
;
p_sys
->
i_attachments
=
p_demux_meta
->
i_attachments
;
p_sys
->
attachments
=
p_demux_meta
->
attachments
;
p_sys
->
attachments
=
p_demux_meta
->
attachments
;
}
}
vlc_object_release
(
p_input
);
free
(
p_demux
->
p_private
);
free
(
p_demux
->
p_private
);
}
}
vlc_object_release
(
p_input
);
}
/* Initialize the Ogg physical bitstream parser */
/* Initialize the Ogg physical bitstream parser */
ogg_sync_init
(
&
p_sys
->
oy
);
ogg_sync_init
(
&
p_sys
->
oy
);
...
...
modules/demux/tta.c
View file @
fe689840
...
@@ -141,9 +141,18 @@ static int Open( vlc_object_t * p_this )
...
@@ -141,9 +141,18 @@ static int Open( vlc_object_t * p_this )
#if 0
#if 0
/* Parse possible id3 header */
/* Parse possible id3 header */
input_thread_t *p_input = (input_thread_t *)
vlc_object_find( p_demux, VLC_OBJECT_INPUT, FIND_PARENT );
if( p_input )
{
if( !( input_GetItem( p_input )->p_meta->i_status & ITEM_PREPARSED ) )
{
p_demux->p_private = malloc( sizeof( demux_meta_t ) );
p_demux->p_private = malloc( sizeof( demux_meta_t ) );
if( !p_demux->p_private )
if( !p_demux->p_private )
{
vlc_object_release( p_input );
return VLC_ENOMEM;
return VLC_ENOMEM;
}
if( ( p_id3 = module_Need( p_demux, "meta reader", NULL, 0 ) ) )
if( ( p_id3 = module_Need( p_demux, "meta reader", NULL, 0 ) ) )
{
{
demux_meta_t *p_demux_meta = (demux_meta_t *)p_demux->p_private;
demux_meta_t *p_demux_meta = (demux_meta_t *)p_demux->p_private;
...
@@ -153,10 +162,13 @@ static int Open( vlc_object_t * p_this )
...
@@ -153,10 +162,13 @@ static int Open( vlc_object_t * p_this )
int i;
int i;
for( i = 0; i < p_demux_meta->i_attachments; i++ )
for( i = 0; i < p_demux_meta->i_attachments; i++ )
free( p_demux_meta->attachments[i] );
free( p_demux_meta->attachments[i] );
TAB_CLEAN( p_demux_meta->i_attachments, p_demux_meta->attachments );
TAB_CLEAN( p_demux_meta->i_attachments,
p_demux_meta->attachments );
}
}
free( p_demux->p_private );
free( p_demux->p_private );
}
vlc_object_release( p_input );
}
if( !p_sys->p_meta )
if( !p_sys->p_meta )
p_sys->p_meta = vlc_meta_New();
p_sys->p_meta = vlc_meta_New();
#endif
#endif
...
...
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