ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: "Sergey N. Yatskevich" <syatskevich@altlinux.ru>
To: ALT Devel discussion list <devel@lists.altlinux.org>
Subject: [devel] Sound-Juicer + gst-plugins-base(v4l)
Date: Tue, 13 Jun 2006 15:23:26 +0400
Message-ID: <1150197806.8245.10.camel@snc.2100.gosniias.ru> (raw)

[-- 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! */

             reply	other threads:[~2006-06-13 11:23 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-06-13 11:23 Sergey N. Yatskevich [this message]
2006-06-13 20:47 ` Mikhail Zabaluev
2006-06-14 11:29   ` Sergey N. Yatskevich
2006-06-15 12:04     ` Sergey N. Yatskevich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1150197806.8245.10.camel@snc.2100.gosniias.ru \
    --to=syatskevich@altlinux.ru \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

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