LINUX.ORG.RU

Сообщения imirrori

 

GStreamer создание плагинов. Проблема с интерфейсами.

Форум — Development

Коллеги у меня возникла проблема при написании плагина для GStreamer. Проблема следующего характера. Я создал шаблон плагина, взяв его отсюда http://anongit.freedesktop.org/git/gstreamer/gst-template.git. Собрал это дело, и начал править. После исправлений пере собираю и смотрю на него gst-inspect:

$gst-inspect-1.0 --gst-plugin-path=$PWD watersign

(gst-plugin-scanner:3048): GStreamer-WARNING **: Failed to load plugin '/home/kozev/workspace/gst-template/gst-plugin/src/.libs/libgstplugin.so': /home/kozev/workspace/gst-template/gst-plugin/src/.libs/libgstplugin.so: undefined symbol: gst_watersign_get_type
No such element or plugin 'watersign'
Начинаю реализовать функцию gst_watersign_get_type и тут начинается самое интересное. Открываю документацию http://gstreamer.freedesktop.org/data/doc/gstreamer/head/pwg/html/chapter-adv... и смотрю:
static void	gst_my_filter_some_interface_init	(GstSomeInterface *iface);

GType
gst_my_filter_get_type (void)
{
  static GType my_filter_type = 0;
                                                                                
  if (!my_filter_type) {
    static const GTypeInfo my_filter_info = {
      sizeof (GstMyFilterClass),
      NULL,
      NULL,
      (GClassInitFunc) gst_my_filter_class_init,
      NULL,
      NULL,
      sizeof (GstMyFilter),
      0,
      (GInstanceInitFunc) gst_my_filter_init
    };
    static const GInterfaceInfo some_interface_info = {
      (GInterfaceInitFunc) gst_my_filter_some_interface_init,
      NULL,
      NULL
    };

    my_filter_type =
	g_type_register_static (GST_TYPE_ELEMENT,
				"GstMyFilter",
				&my_filter_info, 0);
    g_type_add_interface_static (my_filter_type,
				 GST_TYPE_SOME_INTERFACE,
                                 &some_interface_info);
  }

  return my_filter_type;
}

static void
gst_my_filter_some_interface_init (GstSomeInterface *iface)
{
  /* here, you would set virtual function pointers in the interface */
}
И тут уже начинаются не стыковки. Прототип для указателя GClassInitFunc. typedef void (*GClassInitFunc) (gpointer g_class, gpointer class_data); Что собственно уже не стыкуется. Хотя на это можно и забить. Но вот то, что такое GstSomeInterface и GST_TYPE_SOME_INTERFACE я просто не понимаю.

Кто может помочь и разъяснить концепцию интерфейсов для GStreamer? Желательно с примером.

 

imirrori
()

Отображение аудио потока при помощи libVLC + Qt

Форум — Development

День добрый. Есть задача: отрисовать звуковую дорожку видео файла.
Все примеры, что мне попадались, в интернете по использованию libVLC служат только для проигрывания видео или аудио. С этим собственно проблем нет. Все работает. А вот как отобразить аудио дорожку и при этом использовать Qt я да же не представляю.
Кто может рассказать в каком направлении следует копать или у кого есть примеры?

 ,

imirrori
()

QML + C++(Qt) помогите разобраться с представленими

Форум — Development

Вопрос не связан с linux.
И так. Есть задача:
есть список файлов, требуется вывести этот список в два представления:
1 - QTreeView
2 - QML ListView
Так же считается, что файлы звуковые, не пересекаются во времени. В дерево отображается имя, дата создания, длительность. В QML вся область считается временной и на нее отображается наличие файла в определенном времени (просто прямоугольниками - timeline).
К решению данной проблемы я подошел следующим образом. Вначале создаю свою модель, наследуясь от QAbstractTableModel. В модели переопределяю

    explicit FileManager(QDir currentDir, QObject *parent = 0);
    int rowCount(const QModelIndex &parent = QModelIndex()) const;
    int columnCount(const QModelIndex &parent = QModelIndex()) const ;
    QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
    QVariant headerData(int section, Qt::Orientation orientation, int role) const;
    QFileInfo fileInfo(const QModelIndex &index) const ;
    QHash<int, QByteArray> roleNames() const;
Добавляю роли для модели allocateX - начало где должен отображаться прямоугольник, allocateWidth - ширина прямоугольника. С QTreeViwe проблем нет, он эту модель принимает как родную, а вот с QML проблемы.
    ListView {
        id: listView1
        interactive: false
        orientation: ListView.Horizontal
        anchors.fill: parent
        anchors.topMargin: beginTimeText.height
        delegate:
            Item{
                Row {
                        Rectangle {
                            height: listView1.height
                            color: colorq
                            x: allocateX
                            width: allocateWidth
                        }
                    }

            }
        model: fileModel
    }
Это совсем не соответсвует тому, что должно получатся. А точнее, число allocateX не соответствует тому x, что отображается для на экране. Выглядит это так http://savepic.net/6555456.htm. Как можно увидеть, у половины файлов (зеленых прямоугольников) координата x = 0.
Внимание вопросы:
1) как исправить и в чем ошибка?
2) как сделать общий выбор? А точнее, когда выбираю файл в дереве, он выделялся (менялся цвет прямоугольника) в QML
3) как обновить представление QML при изменении модели?

 ,

imirrori
()

openssl и libssl

Форум — Development

День добрый. Пишу я тут свой сервер с использованием libssl и пытаюсь отладить соединение по openssl s_client. Кусок сода из сервака:

    OPENSSL_config(NULL);
    SSL_load_error_strings();
    SSL_library_init();
    SSL_CTX *newContectx = SSL_CTX_new(TLSv1_2_server_method());
    if(newContectx == NULL)
    	return -1;
//    if(SSL_CTX_set_cipher_list(newContectx,"DHE-RSA-AES128-SHA256") != 1)
 //   	return -1;
    SSL_CTX_use_certificate_file(newContectx,"/tmp/ca.crt", SSL_FILETYPE_PEM);
    SSL_CTX_use_PrivateKey_file(newContectx,"/tmp/ca.key", SSL_FILETYPE_PEM);
    if(SSL_CTX_check_private_key(newContectx) != 1)
	   return -1;
    if(SSL_CTX_load_verify_locations(newContectx,"/tmp/ca.crt", NULL) != 1)
    	return -1;
    SSL_CTX_set_client_CA_list(newContectx,SSL_load_client_CA_file("/tmp/ca.crt"));
    SSL_CTX_set_verify(newContectx, SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT, NULL);

 safeSocet = SSL_new(newContectx);
 if(SSL_set_fd(safeSocet,socet) != 1)
  ThrowSystemError("can't create safe socket");
 if(SSL_get_error(safeSocet, SSL_accept(safeSocet)) != SSL_ERROR_NONE)
  ThrowSystemError("can't create safe socket");

Вот при SSL_accept(safeSocet) я и вылетаю. На сервере есть доверительный сертификат ca.crt и ключ к нему ca.key в формате PEM. На клиенте есть сертификат клиента, подписанный доверительным client01.crt (подписан ca.crt) и ключи к нему client01.key. Пытаюсь присоедениться к серверу командой:
openssl s_client -connect 192.168.0.180:8888 -tls1_2 -CAfile ca.crt -cert client01.crt -key client01.key
Получаю следующее:

( Вывод консоли )

Из чего я делаю вывод, что клиент свой сертификат не отпраляет. Как исправить?

 

imirrori
()

iptables DNAT SNAT

Форум — Admin

День добрый, подскажите, как решить такую задачу: Есть сервер с адресом 192.168.0.1, у него должен быть доступ к компьютерам с адресами 192.168.1.1 (у обоих одинаковый), вот только к первому доступ идет через getway 192.168.0.2, а ко второму через getway 192.168.0.3. В route можно прописать только один. Адреса никому менять нельзя.

Вот и тоит задача получить доступ к обоим. Решение может конечно странное, но подумал, что можно на машине 192.168.0.2 настроить iptables, что бы на сервере одну из 192.168.1.1 заменить на 192.168.2.1 и отправлять пакеты на 192.168.0.2, а он менял 192.168.2.1 на 192.168.1.1 и отправлял куда надо.

Так вот прописываю роуты на сервере 192.168.0.1:

route add -net 192.168.1.1 gw 192.168.0.3 netmask 255.255.255.255
route add -net 192.168.2.1 gw 192.168.0.2 netmask 255.255.255.255
В настройках iptables на 192.168.0.2 ставлю:
iptables -t nat -A PREROUTING -d 192.168.2.1 -j DNAT --to-destination 192.168.1.1 
iptables -t nat -A POSTROUTING -s 192.168.1.1 -j SNAT --to-source 192.168.2.1
Пингую с сервера 192.168.2.1 и получаю ровным счетом ничего.

imirrori
()

DosBox перенаправление потока вывода

Форум — Desktop

Подскажите, как сделать, что бы DosBox производил вывод в стандартный поток вывода?

Для win есть опция -noconsole, а вот под *nix не особо понятно как это сделать.

Вся проблема в том, что бы запусть сратый компилятор написанный для win (да, именно его, а его nix-аналог. Почему? Потому).

Так вот в DosBox запускается компилятор, и после чего DosBox больше не нужен, а нужен только вывод компилятора.

imirrori
()

Переключение раскладки в консоли Ubuntu

Форум — Desktop

Не могу понять, почему это существо, не хочет менять мне раскладку в tty. Русский текст оно рапознает:

imirrori@imirrori-ThinkPad-SL500:~$ ls
workspace  Документы  Изображения  Общедоступные  Шаблоны
Видео      Загрузки   Музыка       Рабочий стол

локаль русская:

imirrori@imirrori-ThinkPad-SL500:~$ locale 
LANG=ru_RU.UTF-8
LANGUAGE=ru
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=

в настройках стоит переключение:

imirrori@imirrori-ThinkPad-SL500:~$ cat /etc/console-cyrillic 
# This is the system wide configuration file for cyr(1).
# In Debian it is used also by /etc/rcS.d/S61console-cyrillic
# (Package: console-cyrillic)

# LOOK:
#     Change this to NO if you don't want this file to be altered by Debconf.
#Debconf: YES

# LOOK:
#     Set this to NO if you don't want the package console-cyrillic
#     to setup Cyrillic on console at boot-time.  Otherwise set it YES.
#Bootsetup: YES

style ter-uni-norm
size 16
encoding utf-8
layout ru
options ctrl_shift_toggle rwin_switch
ttys /dev/tty[1-6]

В итоге могу печатать только на ангийской раскладке. В графическом режиме (KDE) нет таких проблем - в эмуляторе консоли меняться раскладка в соответсвии с настройками KDE, а в tty лажа. Помогите исправить.

Ну и для полной картины:

imirrori@imirrori-ThinkPad-SL500:~$ cat /etc/default/console-setup 
# Change to "yes" and setupcon will explain what is being doing
VERBOSE_OUTPUT="no"

# Setup these consoles.  Most people do not need to change this.
ACTIVE_CONSOLES="/dev/tty[1-6]"

# Put here your encoding.  Valid charmaps are: UTF-8 ARMSCII-8 CP1251
# CP1255 CP1256 GEORGIAN-ACADEMY GEORGIAN-PS IBM1133 ISIRI-3342
# ISO-8859-1 ISO-8859-2 ISO-8859-3 ISO-8859-4 ISO-8859-5 ISO-8859-6
# ISO-8859-7 ISO-8859-8 ISO-8859-9 ISO-8859-10 ISO-8859-11 ISO-8859-13
# ISO-8859-14 ISO-8859-15 ISO-8859-16 KOI8-R KOI8-U TIS-620 VISCII
CHARMAP="UTF-8"

# The codeset determines which symbols are supported by the font.
# Valid codesets are: Arabic Armenian CyrAsia CyrKoi CyrSlav Ethiopian
# Georgian Greek Hebrew Lao Lat15 Lat2 Lat38 Lat7 Thai Uni1 Uni2 Uni3
# Vietnamese.  Read README.fonts for explanation.
CODESET="CyrKoi"

# Valid font faces are: VGA (sizes 8, 14 and 16), Terminus (sizes
# 12x6, 14, 16, 20x10, 24x12, 28x14 and 32x16), TerminusBold (sizes
# 14, 16, 20x10, 24x12, 28x14 and 32x16), TerminusBoldVGA (sizes 14
# and 16) and Fixed (sizes 13, 14, 15, 16 and 18).  Only when
# CODESET=Ethiopian: Goha (sizes 12, 14 and 16) and 
# GohaClassic (sizes 12, 14 and 16).
# Set FONTFACE and FONTSIZE to empty strings if you want setupcon to
# set up the keyboard but to leave the console font unchanged.
FONTFACE="Fixed"
FONTSIZE="16"

# You can also directly specify nonstandard font or console map to load.
# Use space as separator if you want to load more than one font.
# You can use FONT_MAP in order to specify the Unicode map of the font
# in case the font doesn't have it embedded.

# FONT='lat9w-08.psf.gz brl-8x8.psf'
# FONT_MAP=/usr/share/consoletrans/lat9u.uni
# CONSOLE_MAP=/usr/local/share/consoletrans/my_special_encoding.acm

# You can also specify a screen size that setupcon will enforce.  This can not
# exceed what the current screen resolution can display according to the size of
# the loaded font.
#
# SCREEN_WIDTH=80
# SCREEN_HEIGHT=25

if [ -f /etc/default/keyboard ]; then
    . /etc/default/keyboard
fi

imirrori
()

Open Source проект: opeNeural

Форум — Development

8 октября 2013г. дан старт нового проекта (с нуля) под названием: «Open neural network for POSIX OS» или сокращенно opeNeural, целью которого является научить молодых специалистов работе в команде (это если в коротко). Целью данного проекта НЕ является помощь кому либо в написании диссертации, курсовых, лабораторных или тому подобного.

Описание проекта: создание программного обеспечения позволяющего организовать вычислительный кластер из «машин» с POSIX совместимой операционной системой для решения задач построения нейронных сетей. Главной спецификой ПО является его максимальный параллелизм как в ячейках кластера, так и во всей вычислительной сети.

Проект контактовской группы, так что всю информацию можно получить там: http://vk.com/topic-432_29349531

Рассылка новостей будет осуществляться по e-mail: openeural@mail.ru

imirrori
()

Qt + Mac OS

Форум — Development

Как собрать Qt проект для Mac OS со статической линковкой библиотек?

В крайнем случае, как создать установщик, что бы установить эти билиотеки?

imirrori
()

QNX 6.3 + VirtualBox + 1280x800 = ?

Форум — Desktop

Вопрос простой, как наладить на виртуальной машине VitualBox с ОС QNX 6.3 разрешение экрана 1280x800?

Гугл на это ничего путнего не выдает. Кто занимался данной проблемой?

imirrori
()

escape последовательность в скрипте

Форум — Desktop

Проблема такая: Ввожу в терминале

echo -e '\E[41;33m'

Цвет меняется. Начинаю писать скрипт.

#!/bin/sh
echo -e '\E[41;33m' «Hello»

Получаю в выдод

-e \E[41;33m Hello

стандартного цвета. В чем подвох и как исправить?

imirrori
()

Не работает web-камера.

Форум — Linux-hardware

Система такая: #uname -a
Linux banan 3.6.0-tux #1 SMP Fri Oct 19 15:08:35 MSK 2012 i686 GNU/Linux

Камера такая: #lsusb | grep cam
Bus 001 Device 003: ID 04f2:b071 Chicony Electronics Co., Ltd 2.0M UVC Webcam / CNF7129

Девайс /dev/video0 не создается.

Везде написанно что нужно проверить модуль uvcvideo. Проверил - нет его. ПОмогите пельменю разобраться, как заставить её работать.

imirrori
()

minix + микроконтроллер

Форум — Linux-hardware

Данная тема, для тех, кто может мне помочь.
В общем, начинаю писать диплом, целью которого является создание устройства на микроконтроллере с ОС minix и дополнительной аппаратурой типа датчиков.
Кто может помочь (проконсультировать) в какой либо из приведенных ниже областей просьба откликнуться.
- выбор и работа в системе моделирования микросхем, плат,
- выбор микроконтроллеров, устройств памяти, устройств ввода, вывода, совмещение.
- создание периферийный устройств (датчиков),
- сборка minix для созданного проекта,
- сборка загрузчика для проекта,
- написание драйверов для созданный устройств,
- монтирование и распайка платы.
В общем на ВСЕХ этапах проектирования.
Кто готов помочь, можете отписаться тут или Вконтакте http://vk.com/id10909526 или на почту legionsnov@rambler.ru

imirrori
()

Ubuntu 10.04 проблема кодировки.

Форум — Desktop

Проблема с некоторыми названиями файлов (в том числе внутри архивов). Выглядит это так:
http://pixs.ru/showimage/Snimokpng_7951290_5810991.png

imirrori
()

Ubuntu 10.04 apache2 + Perl

Форум — Admin

Не работают скрипты Perl.
Устанавливаем apache2. Проверяем работу ничего не меняя в настройках. В Firefox набираем licalhost получаем:
«It work!»
Теперь ставим модули Perl. sudo a2enmod perl
Создаем папку для скриптов /var/www/Perl
Пишем скрипт и называем его 1.pl

#/usr/bin/perl
print << 'EOT';
content-type: text/html

<HTML> <HEAD> </HEAD> <BODY> </BODY> </HTML>
EOT
#

Дальше открываю /etc/apache2/httpd.conf и добавляю:

ScriptAlias /Perl/ «/var/www/Perl/»
<Directory «/var/www/Perl/»>
AllowOverride All
Options -Indexes +ExecCGI
Order allow,deny
Allow from all
</Directory>

Перезапускаю apache: /etc/init.d/apache2 reload

Захожу в firefox. Проверяем localhost - работает. Набираем localhost/Perl/1.pl и получаем:

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, webmaster@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.
Apache/2.2.14 (Ubuntu) Server at localhost Port 80

Смотрим логи:

[Mon Sep 10 10:15:02 2012] [error] (8)Exec format error: exec of '/var/www/Perl/1.pl' failed
[Mon Sep 10 10:15:02 2012] [error] [client 127.0.0.1] Premature end of script headers: 1.pl

Я дурак, помогите.

imirrori
()

Eclipse qwt

Форум — Development

Как добавить в Eclipse qwt? Плагин Qt работает нормально, выглядит это так: http://pikucha.ru/i9atC
Попытался добавить в инклуды библиотеки, ошибка того, что он не видит их. http://pikucha.ru/i9atD
Прописал полный путь к библиотеке, не видит конструктор. http://pikucha.ru/i9atE
При обычных модулях Qt в таких случаях они прописываются в *.pro файле, тут он его не видит. http://pikucha.ru/i9atF

Как наладить?

imirrori
()

Ubuntu 12.04 asus acpi

Форум — Admin

Запускается только при наличии в строке запуска acpi=off, что приводит к тому, что Ubuntu не может вырубить ноут самостоятельно. Видел много подобных тем, но решения не нашел. Модуль asus-laptop.ko вроде есть

$sudo modprobe -l | grep asus
kernel/drivers/net/usb/pegasus.ko
kernel/drivers/media/rc/keymaps/rc-asus-pc39.ko
kernel/drivers/hwmon/asus_atk0110.ko
kernel/drivers/staging/asus_oled/asus_oled.ko
kernel/drivers/platform/x86/asus-laptop.ko
kernel/drivers/platform/x86/asus-wmi.ko
kernel/drivers/platform/x86/asus-nb-wmi.ko

Ядро 3.2.0-29-generic-pae

imirrori
()

samba

Форум — Admin

Нашел много тем, но по моему такой нет. Когда вхожу в систему открываю самбу, то написано, что она работает, но подключиться с удаленной машины не получается, а если самбу тут же отключить и подключить, то работает. В чем подвох?

imirrori
()

отключение питания от usb

Форум — Linux-hardware

Задача стоит в следующем: берем мультиметр и мерием напрящение в порту usb = 5, нужно сделать ноль или переслать байт информации на порт, не подключая никаих устройств.

Гугл говорит: echo suspend > /sys/bus/usb/devices/<choose your own>/power/level и тому подобное, но результат нулевой.

Ось Debian версию ядро старое, версию сечас точно не скажу, обновлению система не подлежит.

Подскажите как быть.

imirrori
()

Маршрутизация и сокеты.

Форум — Admin

Помоги решить задачу. Есть две сети. В первой есть компьютер (комп. 1) с адресом 192.168.0.1 и компьютер (комп. 2) с адресом 192.168.0.2. Вторая сеть подключена ко второму компьютеру и в ней у него адрес 192.168.1.2, так же во второй сети есть компьютер (комп. 3) с адресом 192.168.1.3.

Требуется програмно создать клент серверное приложение использующее сокеты соеденяющее комп.1 комп.3.

Как приложения создавать вопрос не стоит, вопрос в том, как и на каком компе настраивать маршрутизацию, что бы все работало.

Предпологаем, что операционная система Debian (хотя это не суть).

Подскажите пожалусто.

imirrori
()

RSS подписка на новые темы