summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2021-05-07 22:02:17 +0200
committerChristian Grothoff <christian@grothoff.org>2021-05-07 22:02:17 +0200
commit713ec3edcf1fc68a9f1edd38ae79f4b153a611f3 (patch)
treed45d81ff81d16a19de7ee1edece66b5b1c5c2e9d
parent3466604202089c9381af32b138683e5ac2d9ed67 (diff)
suspending work on #2075
-rw-r--r--src/plugins/Makefile.am14
-rw-r--r--src/plugins/test-vlc.c27
-rw-r--r--src/plugins/vlc_extractor.c25
3 files changed, 51 insertions, 15 deletions
diff --git a/src/plugins/Makefile.am b/src/plugins/Makefile.am
index 58b0590..69cb1f7 100644
--- a/src/plugins/Makefile.am
+++ b/src/plugins/Makefile.am
@@ -662,13 +662,13 @@ test_tiff_LDADD = \
$(top_builddir)/src/plugins/libtest.la
-libextractor_vlc_la_SOURCES = \
- vlc_extractor.c
-libextractor_vlc_la_LDFLAGS = \
- $(PLUGINFLAGS)
-libextractor_vlc_la_LIBADD = \
- -lvlc \
- $(XLIB)
+#libextractor_vlc_la_SOURCES = \
+# vlc_extractor.c
+#libextractor_vlc_la_LDFLAGS = \
+# $(PLUGINFLAGS)
+#libextractor_vlc_la_LIBADD = \
+# -lvlc \
+# $(XLIB)
libextractor_wav_la_SOURCES = \
diff --git a/src/plugins/test-vlc.c b/src/plugins/test-vlc.c
index 6bef893..3dbe6a4 100644
--- a/src/plugins/test-vlc.c
+++ b/src/plugins/test-vlc.c
@@ -132,8 +132,8 @@ my_logger (void *data,
* @param ec extraction context
*/
void
-main(int argc,
- char **argv)
+main (int argc,
+ char **argv)
{
libvlc_instance_t *vlc;
libvlc_media_t *media;
@@ -161,8 +161,27 @@ main(int argc,
libvlc_log_set (vlc,
&my_logger,
NULL);
- media = libvlc_media_new_path (vlc,
- argv[1]);
+ if (0)
+ {
+ media = libvlc_media_new_path (vlc,
+ argv[1]);
+ }
+ else
+ {
+ int fd = open (argv[1],
+ O_RDONLY);
+ if (-1 == fd)
+ {
+ fprintf (stderr,
+ "Open %s failed: %s\n",
+ argv[1],
+ strerror (errno));
+ libvlc_release (vlc);
+ return;
+ }
+ media = libvlc_media_new_fd (vlc,
+ fd);
+ }
if (NULL == media)
{
fprintf (stderr,
diff --git a/src/plugins/vlc_extractor.c b/src/plugins/vlc_extractor.c
index ab9dfb2..6005c86 100644
--- a/src/plugins/vlc_extractor.c
+++ b/src/plugins/vlc_extractor.c
@@ -17,7 +17,7 @@
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
-NOTE: This plugin is not yet working. Somehow libvlc never calls any of the IO callbacks.
+THIS PLUGIN IS NOT WORKING, see #2075!
*/
/**
@@ -314,7 +314,22 @@ EXTRACTOR_vlc_extract_method (struct EXTRACTOR_ExtractContext *ec)
libvlc_log_set (vlc,
&my_logger,
NULL);
- if (0)
+ if (1)
+ {
+ fprintf (stderr,
+ "Opening file `%s'\n",
+ "testdata/matroska_flame.mkv");
+ media = libvlc_media_new_path (vlc,
+ "testdata/matroska_flame.mkv");
+ if (NULL == media)
+ {
+ fprintf (stderr,
+ "Open failed\n");
+ libvlc_release (vlc);
+ return;
+ }
+ }
+ else if (0)
{
fprintf (stderr,
"Opening file `%s'\n",
@@ -332,7 +347,7 @@ EXTRACTOR_vlc_extract_method (struct EXTRACTOR_ExtractContext *ec)
media = libvlc_media_new_fd (vlc,
fd);
}
- else
+ else if (0)
{
fprintf (stderr,
"Reading via IPC\n");
@@ -343,6 +358,8 @@ EXTRACTOR_vlc_extract_method (struct EXTRACTOR_ExtractContext *ec)
&close_cb,
ec);
}
+ else
+ abort ();
if (NULL == media)
{
libvlc_release (vlc);
@@ -370,7 +387,7 @@ EXTRACTOR_vlc_extract_method (struct EXTRACTOR_ExtractContext *ec)
}
fprintf (stderr,
"Sleeping\n");
- sleep (1);
+ sleep (10);
extract (ec,
media);
libvlc_media_release (media);