After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 162963 - gst-editor crash when playing pipeline with ximagsink/xvimagesink loaded from saved xml file
gst-editor crash when playing pipeline with ximagsink/xvimagesink loaded from...
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins
0.8.0
Other other
: Normal normal
: 0.8.12
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2005-01-04 22:13 UTC by harvey
Modified: 2005-09-29 11:12 UTC
See Also:
GNOME target: ---
GNOME version: 2.7/2.8


Attachments
xml file that makes it crash. (14.45 KB, text/plain)
2005-09-21 15:48 UTC, Richard Hughes
  Details
patch to make handling of pixel-aspect-ratio property in ximagesink and xvimagesink more robust (6.83 KB, patch)
2005-09-23 09:52 UTC, Tim-Philipp Müller
committed Details | Review

Description harvey 2005-01-04 22:13:53 UTC
Distribution: Debian 3.1
Package: GStreamer
Severity: normal
Version: GNOME2.8.1 0.8.0
Gnome-Distributor: Debian
Synopsis: GStream Editor crashes when trying to play from saved xml file
Bugzilla-Product: GStreamer
Bugzilla-Component: gst-editor
Bugzilla-Version: 0.8.0
BugBuddy-GnomeVersion: 2.0 (2.8.0)
Description:
Description of the crash:

GStream Editor quits unexpectedly.

Steps to reproduce the crash:
1. SELECT: File | New -> from pipeline destription ...
2. USE: filesrc location=test.mp3 ! mad ! tee name=T { T.src0 ! queue !
alsasink } { T.src1 ! queue ! audioconvert ! monoscope !
ffmpegcolorspace ! ximagesink }
you'll obviously need a valid test.mp3 file for this :)
3. PLAY - it works!
4. SAVE AS: test.xml (or whatever)
5. OPEN: test.xml
6. PLAY: it crashes :(

Expected Results:

6. PLAY: it works!

How often does this happen?

Happens everytime.
Some simple pipelines don't have this problem. For example:
  filesrc location=test.mp3 ! mad ! alsasink
works no problem. So far every pipeline I've tryed using threads
crashes.

Additional Information:



Debugging Information:

Backtrace was generated from '/usr/bin/gst-editor'

(no debugging symbols found)...Using host libthread_db library
"/lib/tls/libthread_db.so.1".
(no debugging symbols found)...(no debugging symbols found)...(no
debugging symbols found)...(no debugging symbols found)...(no debugging
symbols found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...[Thread debugging using libthread_db enabled]
[New Thread 1089838528 (LWP 9575)]
[New Thread 1093634992 (LWP 9578)]
[Thread debugging using libthread_db enabled]
[New Thread 1089838528 (LWP 9575)]
[New Thread 1093634992 (LWP 9578)]
(no debugging symbols found)...(no debugging symbols found)...(no
debugging symbols found)...(no debugging symbols found)...(no debugging
symbols found)...[Thread debugging using libthread_db enabled]
[New Thread 1089838528 (LWP 9575)]
[New Thread 1093634992 (LWP 9578)]
(no debugging symbols found)...(no debugging symbols found)...(no
debugging symbols found)...(no debugging symbols found)...(no debugging
symbols found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...0x40863431 in __waitpid_nocancel
() from /lib/tls/libpthread.so.0
  • #0 __waitpid_nocancel
    from /lib/tls/libpthread.so.0
  • #1 libgnomeui_module_info_get
    from /usr/lib/libgnomeui-2.so.0
  • #2 <signal handler called>
  • #3 raise
    from /lib/tls/libc.so.6
  • #4 ??
    from /lib/tls/libc.so.6
  • #5 ??
  • #6 abort
    from /lib/tls/libc.so.6
  • #7 ??
  • #8 ??
  • #9 ??
  • #10 ??
  • #11 ??
  • #12 ??
  • #13 ??
  • #14 ??
  • #15 ??
  • #16 ??
  • #17 ??
  • #18 ??
  • #19 ??
  • #20 ??
  • #21 ??
  • #22 ??
  • #23 ??
  • #24 ??
  • #25 ??
  • #26 ??
  • #27 ??
  • #28 ??
  • #29 ??
  • #30 ??
  • #31 ??
  • #32 ??
  • #33 ??
  • #34 ??
  • #35 ??
  • #36 ??
  • #37 ??
  • #38 ??
  • #39 ??
  • #40 ??
  • #41 ??
  • #42 g_value_peek_pointer
    from /usr/lib/libgobject-2.0.so.0
  • #43 g_log
    from /usr/lib/libglib-2.0.so.0
  • #44 gst_value_fraction_multiply
    from /usr/lib/libgstreamer-0.8.so.1
  • #45 gst_value_compare
    from /usr/lib/libgstreamer-0.8.so.1
  • #46 ??
    from /usr/lib/gstreamer-0.8/libgstximagesink.so
  • #47 ??
  • #48 ??
  • #49 ??
  • #50 ??
    from /usr/lib/gstreamer-0.8/libgstximagesink.so
  • #51 ??
  • #52 ??
  • #53 ??
    from /usr/lib/gstreamer-0.8/libgstximagesink.so
  • #54 ??
  • #55 ??
  • #56 g_log_domain_gstreamer
    from /usr/lib/libgstreamer-0.8.so.1
  • #57 ??
  • #58 ??
    from /usr/lib/libgstreamer-0.8.so.1
  • #59 g_log_domain_gstreamer
    from /usr/lib/libgstreamer-0.8.so.1
  • #60 ??
  • #61 ??
  • #62 gst_pad_is_linked
    from /usr/lib/libgstreamer-0.8.so.1




------- Bug moved to this database by unknown@bugzilla.gnome.org 2005-01-04 17:13 -------


Unknown platform unknown. Setting to default platform "Other".
Unknown milestone "unknown" in product "GStreamer".
   Setting to default milestone for this product, 'HEAD'
The original reporter of this bug does not have
   an account here. Reassigning to the person who moved
   it here, unknown@bugzilla.gnome.org.
   Previous reporter was harvey@buskers.org.
Setting to default status "UNCONFIRMED".
Setting qa contact to the default for this product.
   This bug either had no qa contact or an invalid one.

Comment 1 Stefan Sauer (gstreamer, gtkdoc dev) 2005-03-24 17:27:31 UTC
happens here too. I'll try to look into it
Comment 2 Richard Hughes 2005-09-20 12:59:29 UTC
I get the following:

[hughsie@localhost tools]$ gst-editor
** Message: palette visible: TRUE
** Message: making new palette
** Message: canvas property notify
** Message: show utility palette: 0
** Message: palette visible: FALSE
** Message: canvas property notify

(gst-editor:30420): GStreamer-CRITICAL **: gst_value_set_fraction: assertion
`denominator != 0' failed

(gst-editor:30420): GStreamer-CRITICAL **: gst_value_set_fraction: assertion
`denominator != 0' failed
** Message: linking GUI for ffmpegcolorspace0:src and ximagesink0:sink
** Message: linking GUI for alpha2:sink and videotestsrc1:src
** Message: linking GUI for videocrop1:sink and videotestsrc0:src
** Message: linking GUI for videocrop1:src and alpha1:sink
** Message: linking GUI for videomixer0:src and ffmpegcolorspace0:sink
** Message: linking GUI for videomixer0:sink_00 and alpha2:src
** Message: linking GUI for videoscale1:sink and alpha1:src
** Message: linking GUI for videoscale1:src and videomixer0:sink_01

(gst-editor:30420): GStreamer-CRITICAL **: gst_value_set_fraction: assertion
`denominator != 0' failed

GStreamer-ERROR **: file gstvalue.c: line 2838 (gst_value_compare_fraction):
should not be reached
aborting...

This is a pretty big showstopper for my project's adoption of gstreamer.

Thanks for any help,

Richard.
Comment 3 Tim-Philipp Müller 2005-09-20 13:10:22 UTC
Richard, could you do:

 % G_DEBUG=fatal_warnings gdb --args gst-editor --gst-fatal-warnings
 Welcome to the Gnu debugger bla
 bla ..
 (gdb) run
 ... wait until it aborts after first warning ...
 (gdb) bt
 ... paste the output here and the previous five lines ...
 (gdb) kill
 (gdb) quit
 %

Cheers
 -Tim
Comment 4 Richard Hughes 2005-09-21 15:33:11 UTC
Tim, 

Here is the output, not sure if it's of use. I'm using the packages at
http://gstreamer.freedesktop.org/pkg/fedora/4/i386/ for what it's worth.

[hughsie@localhost ~]$ G_DEBUG=fatal_warnings gdb --args gst-xmllaunch
untitled-2.xml --gst-fatal-warnings
GNU gdb Red Hat Linux (6.3.0.0-1.21rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu"...Using host libthread_db
library "/lib/libthread_db.so.1".

(gdb) run
Starting program: /usr/bin/gst-xmllaunch untitled-2.xml --gst-fatal-warnings
Reading symbols from shared object read from target memory...done.
Loaded system supplied DSO at 0x4ef000

GStreamer-CRITICAL **: gst_value_set_fraction: assertion `denominator != 0' failed
aborting...

Program received signal SIGABRT, Aborted.
0x003b6402 in ?? ()
(gdb) bt
  • #0 ??
  • #1 ??
  • #2 ??
  • #3 ??
  • #4 ??
Kill the program being debugged? (y or n) y
(gdb) quit

Thanks for any help,

Richard.
Comment 5 Richard Hughes 2005-09-21 15:41:48 UTC
Valgrind output.

[hughsie@localhost ~]$ valgrind gst-xmllaunch untitled-2.xml
==22721== Memcheck, a memory error detector for x86-linux.
==22721== Copyright (C) 2002-2005, and GNU GPL'd, by Julian Seward et al.
==22721== Using valgrind-2.4.0, a program supervision framework for x86-linux.
==22721== Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et al.
==22721== For more details, rerun with: -v
==22721==

(gst-launch-0.8:22721): GStreamer-CRITICAL **: gst_value_set_fraction: assertion
`denominator != 0' failed

(gst-launch-0.8:22721): GStreamer-CRITICAL **: gst_value_set_fraction: assertion
`denominator != 0' failed
RUNNING pipeline ...

(gst-launch-0.8:22721): GStreamer-CRITICAL **: gst_value_set_fraction: assertion
`denominator != 0' failed

GStreamer-ERROR **: file gstvalue.c: line 2838 (gst_value_compare_fraction):
should not be reached
aborting...
Aborted
[hughsie@localhost ~]$ valgrind gst-xmllaunch-0.8 untitled-2.xml
==26359== Memcheck, a memory error detector for x86-linux.
==26359== Copyright (C) 2002-2005, and GNU GPL'd, by Julian Seward et al.
==26359== Using valgrind-2.4.0, a program supervision framework for x86-linux.
==26359== Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et al.
==26359== For more details, rerun with: -v
==26359==
==26359== Conditional jump or move depends on uninitialised value(s)
==26359==    at 0x1BD04BA7: strstr (in /lib/libc-2.3.5.so)
==26359==    by 0x1BB6D6E7: __pthread_initialize_minimal (in
/lib/libpthread-2.3.5.so)
==26359==    by 0x1BB6D297: (within /lib/libpthread-2.3.5.so)
==26359==    by 0x1BB6CE7F: (within /lib/libpthread-2.3.5.so)
==26359==    by 0x1B8F1DCA: call_init (in /lib/ld-2.3.5.so)
==26359==    by 0x1B8F1EEC: _dl_init (in /lib/ld-2.3.5.so)
==26359==    by 0x1B8E47CE: (within /lib/ld-2.3.5.so)

(gst-launch-0.8:26359): GStreamer-CRITICAL **: gst_value_set_fraction: assertion
`denominator != 0' failed

(gst-launch-0.8:26359): GStreamer-CRITICAL **: gst_value_set_fraction: assertion
`denominator != 0' failed
RUNNING pipeline ...

(gst-launch-0.8:26359): GStreamer-CRITICAL **: gst_value_set_fraction: assertion
`denominator != 0' failed

GStreamer-ERROR **: file gstvalue.c: line 2838 (gst_value_compare_fraction):
should not be reached
aborting...
==26359==
==26359== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 69 from 1)
==26359== malloc/free: in use at exit: 913820 bytes in 17200 blocks.
==26359== malloc/free: 44785 allocs, 27585 frees, 3369788 bytes allocated.
==26359== For counts of detected errors, rerun with: -v
==26359== searching for pointers to 17200 not-freed blocks.
==26359== checked 1131812 bytes.
==26359==
==26359== LEAK SUMMARY:
==26359==    definitely lost: 68699 bytes in 2010 blocks.
==26359==      possibly lost: 1040 bytes in 26 blocks.
==26359==    still reachable: 844081 bytes in 15164 blocks.
==26359==         suppressed: 0 bytes in 0 blocks.
==26359== Use --leak-check=full to see details of leaked memory.
Aborted
Comment 6 Richard Hughes 2005-09-21 15:44:09 UTC
[hughsie@localhost ~]$ G_DEBUG=fatal_warnings gdb --args gst-xmllaunch-0.8
untitled-2.xml --gst-fatal-warnings
GNU gdb Red Hat Linux (6.3.0.0-1.21rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu"...Using host libthread_db
library "/lib/libthread_db.so.1".

(gdb) run
Starting program: /usr/bin/gst-xmllaunch-0.8 untitled-2.xml --gst-fatal-warnings
Reading symbols from shared object read from target memory...done.
Loaded system supplied DSO at 0xd6c000
[Thread debugging using libthread_db enabled]
[New Thread -1208743360 (LWP 3030)]

GStreamer-CRITICAL **: gst_value_set_fraction: assertion `denominator != 0' failed
aborting...

Program received signal SIGABRT, Aborted.

Thread NaN (LWP 3030)

  • #0 __kernel_vsyscall
  • #1 raise
    from /lib/libc.so.6
  • #2 abort
    from /lib/libc.so.6
  • #3 g_logv
    from /usr/lib/libglib-2.0.so.0
  • #4 g_log
    from /usr/lib/libglib-2.0.so.0
  • #5 g_return_if_fail_warning
    from /usr/lib/libglib-2.0.so.0
  • #6 gst_value_set_fraction
    at gstvalue.c line 2575
  • #7 gst_structure_set_valist
    at gststructure.c line 440
  • #8 gst_structure_set
    at gststructure.c line 353
  • #9 gst_ximagesink_getcaps
    at ximagesink.c line 641
  • #10 gst_pad_get_caps
    at gstpad.c line 2707
  • #11 gst_pad_link_filtered
    at gstpad.c line 1880
  • #12 gst_pad_link
    at gstpad.c line 1925
  • #13 gst_pad_load_and_link
    at gstpad.c line 3160
  • #14 gst_element_restore_thyself
    at gstelement.c line 3264
  • #15 gst_object_restore_thyself
    at gstobject.c line 654
  • #16 gst_xml_make_element
    at gstxml.c line 429
  • #17 gst_bin_restore_thyself
    at gstbin.c line 1248
  • #18 gst_object_restore_thyself
    at gstobject.c line 654
  • #19 gst_xml_make_element
    at gstxml.c line 429
  • #20 gst_xml_parse_doc
    at gstxml.c line 245
  • #21 gst_xml_parse_file
    at gstxml.c line 288
  • #22 main
    at gst-launch.c line 142
  • #23 __libc_start_main
    from /lib/libc.so.6
  • #24 _start
Kill the program being debugged? (y or n) y
(gdb) exit
Undefined command: "exit".  Try "help".
(gdb) quit
Comment 7 Richard Hughes 2005-09-21 15:48:36 UTC
Created attachment 52465 [details]
xml file that makes it crash.
Comment 8 Richard Hughes 2005-09-21 17:05:54 UTC
This might be more useful. This is the backtrace when gst-editor tries to open
the file.
[hughsie@localhost src]$ G_DEBUG=fatal_warnings gdb --args ./.libs/gst-editor
--gst-fatal-warnings
GNU gdb Red Hat Linux (6.3.0.0-1.21rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu"...Using host libthread_db
library "/lib/libthread_db.so.1".

(gdb) run
Starting program:
/home/hughsie/user/code/gstreamer/gst-all/gst-editor/src/.libs/gst-editor
--gst-fatal-warnings
Reading symbols from shared object read from target memory...done.
Loaded system supplied DSO at 0x4a6000
[Thread debugging using libthread_db enabled]
[New Thread -1208669728 (LWP 14550)]
** Message: palette visible: TRUE
** Message: making new palette
** Message: canvas property notify
** Message: show utility palette: 0
** Message: palette visible: FALSE
** Message: canvas property notify

GStreamer-CRITICAL **: gst_value_set_fraction: assertion `denominator != 0' failed
aborting...

Program received signal SIGABRT, Aborted.

Thread NaN (LWP 14550)

  • #0 __kernel_vsyscall
  • #1 raise
    from /lib/libc.so.6
  • #2 abort
    from /lib/libc.so.6
  • #3 g_logv
    from /usr/lib/libglib-2.0.so.0
  • #4 g_log
    from /usr/lib/libglib-2.0.so.0
  • #5 g_return_if_fail_warning
    from /usr/lib/libglib-2.0.so.0
  • #6 gst_value_set_fraction
    at gstvalue.c line 2575
  • #7 gst_value_deserialize_fraction
    at gstvalue.c line 2703
  • #8 g_value_transform
    from /usr/lib/libgobject-2.0.so.0
  • #9 gst_ximagesink_set_property
    at ximagesink.c line 1291
  • #10 g_object_set_valist
    from /usr/lib/libgobject-2.0.so.0
  • #11 g_object_set
    from /usr/lib/libgobject-2.0.so.0
  • #12 gst_util_set_object_arg
    at gstutils.c line 265
  • #13 gst_element_restore_thyself
    at gstelement.c line 3252
  • #14 gst_object_restore_thyself
    at gstobject.c line 654
  • #15 gst_xml_make_element
    at gstxml.c line 429
  • #16 gst_bin_restore_thyself
    at gstbin.c line 1248
  • #17 gst_object_restore_thyself
    at gstobject.c line 654
  • #18 gst_xml_make_element
    at gstxml.c line 429
  • #19 gst_xml_parse_doc
    at gstxml.c line 245
  • #20 gst_xml_parse_file
    at gstxml.c line 288
  • #21 gst_editor_load
    at gsteditor.c line 505
  • #22 on_load_file_selected
    at gsteditor.c line 482
  • #23 g_cclosure_marshal_VOID__VOID
    from /usr/lib/libgobject-2.0.so.0
  • #24 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #25 g_signal_stop_emission
    from /usr/lib/libgobject-2.0.so.0
  • #26 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #27 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #28 gtk_button_clicked
    from /usr/lib/libgtk-x11-2.0.so.0
  • #29 gtk_file_selection_show_fileop_buttons
    from /usr/lib/libgtk-x11-2.0.so.0
  • #30 gtk_marshal_VOID__UINT_STRING
    from /usr/lib/libgtk-x11-2.0.so.0
  • #31 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #32 g_signal_stop_emission
    from /usr/lib/libgobject-2.0.so.0
  • #33 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #34 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #35 gtk_tree_view_row_activated
    from /usr/lib/libgtk-x11-2.0.so.0
  • #36 gtk_tree_view_set_model
    from /usr/lib/libgtk-x11-2.0.so.0
  • #37 gtk_marshal_VOID__UINT_STRING
    from /usr/lib/libgtk-x11-2.0.so.0
  • #38 g_cclosure_new_swap
    from /usr/lib/libgobject-2.0.so.0
  • #39 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #40 g_signal_stop_emission
    from /usr/lib/libgobject-2.0.so.0
  • #41 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #42 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #43 gtk_widget_activate
    from /usr/lib/libgtk-x11-2.0.so.0
  • #44 gtk_propagate_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #45 gtk_main_do_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #46 gdk_screen_get_setting
    from /usr/lib/libgdk-x11-2.0.so.0
  • #47 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #48 g_main_context_check
    from /usr/lib/libglib-2.0.so.0
  • #49 g_main_loop_run
    from /usr/lib/libglib-2.0.so.0
  • #50 gtk_main
    from /usr/lib/libgtk-x11-2.0.so.0
  • #51 main
    at editor.c line 95
Kill the program being debugged? (y or n) y
(gdb) quit
[hughsie@localhost src]$
Comment 9 Tim-Philipp Müller 2005-09-23 09:52:48 UTC
Created attachment 52542 [details] [review]
patch to make handling of pixel-aspect-ratio property in ximagesink and xvimagesink more robust

Looks like this is a bug in the property handling of ximagesink and
xvimagesink. It happens even for simple pipelines like

  videotestsrc ! ximagesink

(and btw: why are the pixel-aspect-ratio properties on those sinks strings in
the first place and not GstFractions? gst-launch should be able to convert them
automatically, no need to do that in our property function, is there?)

Attached patch should fix this.
Comment 10 Tim-Philipp Müller 2005-09-29 11:12:49 UTC
2005-09-29  Tim-Philipp Muller  <tim at centricular dot net>

        * sys/ximage/ximagesink.c: (gst_ximagesink_renegotiate_size),
        (gst_ximagesink_xcontext_get), (gst_ximagesink_set_property),
        (gst_ximagesink_get_property), (gst_ximagesink_class_init):
        * sys/xvimage/xvimagesink.c: (gst_xvimagesink_sink_link),
        (gst_xvimagesink_set_property), (gst_xvimagesink_get_property),
        (gst_xvimagesink_class_init):
          Handle 'pixel-aspect-ratio' property serialisation/deserialisation
          more gracefully. Fixes crashes on pipeline loading in gst-editor
          as well (#162963).

Cheers
 -Tim