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
27431a57
Commit
27431a57
authored
Nov 19, 2012
by
Francois Cartegnie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
chromaprint: add libvlccore definitions
parent
18a5bfb3
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
154 additions
and
0 deletions
+154
-0
include/vlc_fingerprinter.h
include/vlc_fingerprinter.h
+92
-0
src/Makefile.am
src/Makefile.am
+2
-0
src/libvlccore.sym
src/libvlccore.sym
+2
-0
src/misc/fingerprinter.c
src/misc/fingerprinter.c
+58
-0
No files found.
include/vlc_fingerprinter.h
0 → 100644
View file @
27431a57
/*****************************************************************************
* vlc_fingerprinter.h: Fingerprinter abstraction layer
*****************************************************************************
* Copyright (C) 2012 VLC authors and VideoLAN
*
* 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_FINGERPRINTER_H
# define VLC_FINGERPRINTER_H
#include <vlc_common.h>
#include <vlc_meta.h>
#include <vlc_input_item.h>
#include <vlc_arrays.h>
# ifdef __cplusplus
extern
"C"
{
# endif
typedef
struct
fingerprinter_sys_t
fingerprinter_sys_t
;
struct
fingerprint_request_t
{
input_item_t
*
p_item
;
unsigned
int
i_duration
;
/* track length hint in seconds, 0 if unkown */
struct
{
char
*
psz_fingerprint
;
vlc_array_t
metas_array
;
}
results
;
};
typedef
struct
fingerprint_request_t
fingerprint_request_t
;
static
inline
fingerprint_request_t
*
fingerprint_request_New
(
input_item_t
*
p_item
)
{
fingerprint_request_t
*
p_r
=
(
fingerprint_request_t
*
)
calloc
(
1
,
sizeof
(
fingerprint_request_t
)
);
if
(
!
p_r
)
return
NULL
;
p_r
->
results
.
psz_fingerprint
=
NULL
;
p_r
->
i_duration
=
0
;
vlc_gc_incref
(
p_item
);
p_r
->
p_item
=
p_item
;
vlc_array_init
(
&
p_r
->
results
.
metas_array
);
/* shouldn't be needed */
return
p_r
;
}
static
inline
void
fingerprint_request_Delete
(
fingerprint_request_t
*
p_f
)
{
vlc_gc_decref
(
p_f
->
p_item
);
free
(
p_f
->
results
.
psz_fingerprint
);
for
(
int
i
=
0
;
i
<
vlc_array_count
(
&
p_f
->
results
.
metas_array
)
;
i
++
)
vlc_meta_Delete
(
(
vlc_meta_t
*
)
vlc_array_item_at_index
(
&
p_f
->
results
.
metas_array
,
i
)
);
free
(
p_f
);
}
struct
fingerprinter_thread_t
{
VLC_COMMON_MEMBERS
/* Specific interfaces */
fingerprinter_sys_t
*
p_sys
;
module_t
*
p_module
;
void
(
*
pf_run
)
(
struct
fingerprinter_thread_t
*
);
void
(
*
pf_enqueue
)
(
struct
fingerprinter_thread_t
*
f
,
fingerprint_request_t
*
r
);
fingerprint_request_t
*
(
*
pf_getresults
)
(
struct
fingerprinter_thread_t
*
f
);
void
(
*
pf_apply
)
(
fingerprint_request_t
*
,
int
i_resultid
);
};
typedef
struct
fingerprinter_thread_t
fingerprinter_thread_t
;
VLC_API
fingerprinter_thread_t
*
fingerprinter_Create
(
vlc_object_t
*
p_this
);
VLC_API
void
fingerprinter_Destroy
(
fingerprinter_thread_t
*
p_fingerprint
);
# ifdef __cplusplus
}
# endif
#endif
src/Makefile.am
View file @
27431a57
...
...
@@ -76,6 +76,7 @@ pluginsinclude_HEADERS = \
../include/vlc_probe.h
\
../include/vlc_rand.h
\
../include/vlc_services_discovery.h
\
../include/vlc_fingerprinter.h
\
../include/vlc_sout.h
\
../include/vlc_spu.h
\
../include/vlc_stream.h
\
...
...
@@ -465,6 +466,7 @@ SOURCES_libvlc_common = \
misc/filter.c
\
misc/filter_chain.c
\
misc/http_auth.c
\
misc/fingerprinter.c
\
misc/text_style.c
\
misc/subpicture.c
\
misc/subpicture.h
\
...
...
src/libvlccore.sym
View file @
27431a57
...
...
@@ -631,3 +631,5 @@ xml_ReaderDelete
xml_ReaderReset
vlc_keycode2str
vlc_str2keycode
fingerprinter_Create
fingerprinter_Destroy
src/misc/fingerprinter.c
0 → 100644
View file @
27431a57
/*****************************************************************************
* fingerprinter.c: Fingerprinter creator and destructor
*****************************************************************************
* Copyright (C) 2012 VLC authors and VideoLAN
*
* 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.
*****************************************************************************/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include <vlc_common.h>
#include <vlc_fingerprinter.h>
#include <vlc_modules.h>
#include "libvlc.h"
fingerprinter_thread_t
*
fingerprinter_Create
(
vlc_object_t
*
p_this
)
{
fingerprinter_thread_t
*
p_fingerprint
;
p_fingerprint
=
(
fingerprinter_thread_t
*
)
vlc_custom_create
(
p_this
,
sizeof
(
*
p_fingerprint
),
"fingerprinter"
);
if
(
!
p_fingerprint
)
{
msg_Err
(
p_this
,
"unable to create fingerprinter"
);
return
NULL
;
}
p_fingerprint
->
p_module
=
module_need
(
p_fingerprint
,
"fingerprinter"
,
"acoustid"
,
false
);
if
(
!
p_fingerprint
->
p_module
)
{
vlc_object_release
(
p_fingerprint
);
msg_Err
(
p_this
,
"AcoustID fingerprinter not found"
);
return
NULL
;
}
return
p_fingerprint
;
}
void
fingerprinter_Destroy
(
fingerprinter_thread_t
*
p_fingerprint
)
{
module_unneed
(
p_fingerprint
,
p_fingerprint
->
p_module
);
vlc_object_release
(
p_fingerprint
);
}
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