ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] Sound-Juicer + gst-plugins-base(v4l)
@ 2006-06-13 11:23 Sergey N. Yatskevich
  2006-06-13 20:47 ` Mikhail Zabaluev
  0 siblings, 1 reply; 4+ messages in thread
From: Sergey N. Yatskevich @ 2006-06-13 11:23 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 735 bytes --]

А кто-нибудь у нас занимается пакетом sound-juicer? Я тут себе новую
(2.14.4) версию собрал (с 0.10-м gstreamer'ом) - отлично работает,
не глючит и не падает.

Если нужно, то я могу залить SRPM в incoming (или вообще взять на
сопровождение).

P.S. а V4L модуль в gst-plugins-base не работает. Причём это проблема
его дизайна, а не просто программерской ошибки. Я приложил патч, который
эту проблему исправляет, однако это в общем-то хак (для остановки
потока используется V4L2 ioctl, тогда как весь остальной код модуля
использует V4L1).

P.P.S. а никто не знает, почему в gstreamer нет модуля для работы с
V4L2? Тем более, что в документации этот модуль упоминается наравне с
V4L1.

-- 
Sergey N. Yatskevich <syatskevich@altlinux.ru>

[-- Attachment #2: gst-plugins-base-0.10.7-v4l.patch --]
[-- Type: text/x-patch, Size: 1075 bytes --]

diff -Naur gst-plugins-base-0.10.7/sys/v4l/v4lsrc_calls.c gst-plugins-base-0.10.7.new/sys/v4l/v4lsrc_calls.c
--- gst-plugins-base-0.10.7/sys/v4l/v4lsrc_calls.c	2006-02-05 19:16:13 +0300
+++ gst-plugins-base-0.10.7.new/sys/v4l/v4lsrc_calls.c	2006-06-12 07:12:49 +0400
@@ -488,6 +488,22 @@
     return FALSE;
   }
 
+  /*
+   * This is a dirty hack (use V4L2 API in V4L1 application), but we
+   * need to do that becouse V4L1 API don't have STREAMOFF equivalent.
+   *
+   * Without that, device driver will not allow us to do other VIDIOCGMBUF
+   * calls (only when video_fd will be closed driver stop cature stream
+   * by self).
+   */
+  enum v4l2_buf_type buf_type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
+  if (ioctl (GST_V4LELEMENT (v4lsrc)->video_fd, VIDIOC_STREAMOFF, &buf_type) < 0) {
+    GST_ELEMENT_ERROR (v4lsrc, RESOURCE, READ, (NULL),
+        ("Error in stream off operation: %s", g_strerror (errno)));
+    munmap (buffer, vmbuf.size);
+    return FALSE;
+  }
+
   munmap (buffer, vmbuf.size);
 
   /* if we got here, it worked! woohoo, the format is supported! */

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2006-06-15 12:04 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-06-13 11:23 [devel] Sound-Juicer + gst-plugins-base(v4l) Sergey N. Yatskevich
2006-06-13 20:47 ` Mikhail Zabaluev
2006-06-14 11:29   ` Sergey N. Yatskevich
2006-06-15 12:04     ` Sergey N. Yatskevich

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git