做过gtk ,gstreamer的麻烦过来帮帮忙分析一下可能原因

软件和网站开发以及相关技术探讨
回复
inkfish321
帖子: 5
注册时间: 2011-09-30 10:22

做过gtk ,gstreamer的麻烦过来帮帮忙分析一下可能原因

#1

帖子 inkfish321 » 2011-11-02 15:44

代码: 全选

g_videoWindow->drawear = gtk_drawing_area_new();
g_return_if_fail (g_videoWindow->drawear != NULL);
gtk_container_add(GTK_CONTAINER(g_videoWindow->window), g_videoWindow->drawear);


start_player(GTK_WIDGET(g_videoWindow->window),
                 g_videoWindow->drawear,
                 TRUE);

void start_player(GtkWidget *parentWindow,
                   GtkWidget *drawear,
                   gboolean play)
{
      ....................
      g_player->videoWindow = parentWindow;
      g_player->videoWindowDrawear = drawear;
      ........................
}

static gboolean my_bus_callback (GstBus * bus, GstMessage * message, gpointer data)
{

    .....................

    switch (GST_MESSAGE_TYPE (message)) {
     ...............................

           case GST_MESSAGE_ELEMENT:{

                   ..............................
                   gst_x_overlay_set_xwindow_id (GST_X_OVERLAY (GST_MESSAGE_SRC (message)),
                                                                  GDK_WINDOW_XWINDOW (player->videoWindowDrawear->window));
                   .................................
           }
}

display_image_window(GTK_WIDGET(g_videoWindow->window), "./image/forward.png");

void display_image_window(GtkWidget *parentWindow, gchar *imageFile)
{
...................................

    g_imageWindow->parntWindow = parentWindow;

    g_imageWindow->imageWindow = gtk_dialog_new_with_buttons(NULL,
                                      GTK_WINDOW(g_imageWindow->parntWindow),
                                      GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT|GTK_DIALOG_NO_SEPARATOR,
                                       NULL);
    .....................................
}
这是一些程序的片段,大家帮我分析一下,程序使用GTK和gstreamer构建一个视频播放的窗口,gstreamer总线收到消息调用my_bus_callback,根据消息的类型处理
将视频显示到窗口上(调用函数gst_x_overlay_set_xwindow_id实现)。
现在要在每次切换视频内容,上一曲,或下一曲时在窗口上显示一个图标(左右箭头)。实现的方法是生成一个对话框(调用函数gtk_dialog_new_with_buttons)
在PC上这样实现没有问题。但在IMX233上这样实现。。这个对话框始终显示不出来。被视频给盖住了。
头像
supercatexpert
帖子: 403
注册时间: 2010-01-17 15:39
系统: Debian Wheezy AMD64
联系:

Re: 做过gtk ,gstreamer的麻烦过来帮帮忙分析一下可能原因

#2

帖子 supercatexpert » 2011-11-02 15:56

IMX233应该是嵌入式环境了吧。估计是窗口管理器的原因,让对话框无法正确显示。
OS: Debian Wheezy (Testing) for AMD64~~~
Mobile Phone: Nokia N900, OS: Maemo 5.0 (Base on Debian)~~~
本人的项目: RhythmCat(Linux下的音乐播放器.....支持歌词等功能...)
http://code.google.com/p/rhythmcat

RhythmCat 2进行中 (https://github.com/supercatexpert/RhythmCat2/)
inkfish321
帖子: 5
注册时间: 2011-09-30 10:22

Re: 做过gtk ,gstreamer的麻烦过来帮帮忙分析一下可能原因

#3

帖子 inkfish321 » 2011-11-04 9:54

谢谢楼上的意见。
还有一个现像就是本来我是用GTK+X11还有一个窗口管理器Matchbox window manager packages
显示正常,
但现在用了GTK+DirectFB 显示就不正常了。。显示的内容不是在屏幕正中间,而是偏左,左边有一部分超出的屏幕范围看不到了。右边屏幕上有一部分空空的什么都不显示。
所以可能真的是窗口管理器有问题吧。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 做过gtk ,gstreamer的麻烦过来帮帮忙分析一下可能原因

#4

帖子 eexpress » 2011-11-04 10:04

fb下没wm管理。
● 鸣学
inkfish321
帖子: 5
注册时间: 2011-09-30 10:22

Re: 做过gtk ,gstreamer的麻烦过来帮帮忙分析一下可能原因

#5

帖子 inkfish321 » 2011-11-04 10:43

楼上这位兄弟。FB没窗口管理那我应该怎么解决这样的问题。。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 做过gtk ,gstreamer的麻烦过来帮帮忙分析一下可能原因

#6

帖子 eexpress » 2011-11-04 10:46

你可以去freenode的房间,找答案。啥语言啥平台都有。
比如去gtk房间。
● 鸣学
回复