Commit graph

192 commits

Author SHA1 Message Date
Julien Moutte
7b89c1a8bf ext/ffmpeg/gstffmpegcolorspace.c: Implementing gst_pad_alloc_buffer to use optimized buffer allocation.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcolorspace.c: (gst_ffmpegcsp_chain):
Implementing gst_pad_alloc_buffer to use optimized buffer allocation.
* gst-libs/gst/xoverlay/xoverlay.c:
(gst_x_overlay_got_desired_size): Updating doc for the xid being 0.
* gst/videoscale/gstvideoscale.c: (gst_videoscale_chain):
Implementing gst_pad_alloc_buffer to use optimized buffer allocation.
* gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_get):
Implementing gst_pad_alloc_buffer to use optimized buffer allocation.
* sys/ximage/ximagesink.c: (gst_ximagesink_chain),
(gst_ximagesink_buffer_free), (gst_ximagesink_buffer_alloc),
(gst_ximagesink_set_xwindow_id), (gst_ximagesink_init): Implementing
the bufferalloc_function to replace bufferpools, fixing the XOverlay
interface implementation to handle xid being 0 and fix some bugs
triggered by Benjamin's testcase.
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_chain),
(gst_xvimagesink_buffer_free), (gst_xvimagesink_buffer_alloc),
(gst_xvimagesink_set_xwindow_id), (gst_xvimagesink_init): Implementing
the bufferalloc_function to replace bufferpools, fixing the XOverlay
interface implementation to handle xid being 0 and fix some bugs
triggered by Benjamin's testcase.
2004-01-09 18:05:57 +00:00
Julien Moutte
3a3e2a874e sys/ximage/ximagesink.c: configure event is not emiting the desired size signal. That fixes aspect ratio issues with ...
Original commit message from CVS:
* sys/ximage/ximagesink.c: (gst_ximagesink_handle_xevents): A
configure event is not emiting the desired size signal. That fixes
aspect ratio issues with gst-player.
2004-01-08 20:06:32 +00:00
Julien Moutte
2a35e3393f examples/gstplay/Makefile.am: Adding the interface library.
Original commit message from CVS:
* examples/gstplay/Makefile.am: Adding the interface library.
* gst-libs/gst/play/Makefile.am: Adding the interface library.
* gst-libs/gst/play/gstplay.c: (gst_play_set_video_sink): Connecting tothe XOverlay size signal instead of GstVideoSink.
* gst-libs/gst/play/gstplay.h: Including the XOverlay interface to check        GST_IS_X_OVERLAY before signal connect.
* gst-libs/gst/video/gstvideosink.c: (gst_videosink_class_init):
Removing the have_video_size signal.
* gst-libs/gst/video/gstvideosink.h: Removing the have_video_size signal        and associated public method.
* sys/ximage/ximagesink.c: (gst_ximagesink_handle_xevents),
(gst_ximagesink_sinkconnect): Using XOverlay public method to fire size
signal.
* sys/xvideo/xvideosink.c: (gst_xvideosink_sinkconnect),
(gst_xvideosink_xwindow_new): Using XOverlay public method to fire size
signal.
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_sinkconnect):
Using XOverlay public method to fire size signal.
2004-01-07 21:49:25 +00:00
Julien Moutte
07b37e4c6d examples/gstplay/player.c: Adding some new lines in g_print calls.
Original commit message from CVS:
* examples/gstplay/player.c: (got_time_tick), (got_stream_length),
(got_video_size): Adding some new lines in g_print calls.
* sys/ximage/ximagesink.c: (gst_ximagesink_xwindow_new),
(gst_ximagesink_xwindow_destroy), (gst_ximagesink_xwindow_resize),
(gst_ximagesink_handle_xevents), (gst_ximagesink_fixate),
(gst_ximagesink_sinkconnect), (gst_ximagesink_change_state),
(gst_ximagesink_chain), (gst_ximagesink_buffer_new),
(gst_ximagesink_set_xwindow_id), (gst_ximagesink_get_desired_size):
Complete code review, reverting some stuff i disagree with, adding
some fixes : time synchronization on invalid timestamps, renegotiation
of private window.
* sys/ximage/ximagesink.h:
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xwindow_destroy),
(gst_xvimagesink_xwindow_resize), (gst_xvimagesink_handle_xevents),
(gst_xvimagesink_get_xv_support), (gst_xvimagesink_xcontext_get),
(gst_xvimagesink_fixate), (gst_xvimagesink_sinkconnect),
(gst_xvimagesink_change_state), (gst_xvimagesink_chain),
(gst_xvimagesink_buffer_new),
(gst_xvimagesink_navigation_send_event),
(gst_xvimagesink_set_xwindow_id),
(gst_xvimagesink_get_desired_size),
(gst_xvimagesink_xoverlay_init): Complete code review, reverting some
stuff i disagree with, adding some fixes : Renegotiation of private
window, implementing get_desired_size.
2004-01-07 15:33:42 +00:00
Jan Schmidt
b22d0599b3 ext/dv/gstdvdec.c: Fix caps negotiation.
Original commit message from CVS:
* ext/dv/gstdvdec.c: (gst_dvdec_loop):
Fix caps negotiation.

* ext/dvdnav/dvdnavsrc.c: (dvdnavsrc_class_init),
(dvdnavsrc_update_buttoninfo), (dvdnavsrc_get),
(dvdnavsrc_get_event_mask), (dvdnav_handle_navigation_event),
(dvdnavsrc_event):
* ext/mpeg2dec/gstmpeg2dec.c:
* gst-libs/gst/navigation/navigation.c:
(gst_navigation_send_key_event), (gst_navigation_send_mouse_event):
* gst-libs/gst/navigation/navigation.h:
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_handle_src_event):
* sys/ximage/ximagesink.c: (gst_ximagesink_handle_xevents):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_handle_xevents):
Super-simple first version of mouse and keyboard events. Clicking
on a DVD menu now works, although it may not take you where you
expected.

* gst/sine/gstsinesrc.c: (gst_sinesrc_src_fixate):
* gst/videotestsrc/gstvideotestsrc.c:
(gst_videotestsrc_src_fixate):
These fixate functions were broken - they never actually
fixated :)
2004-01-06 16:42:10 +00:00
David Schleef
5cbe819fe2 Fix the fixate functions to handle new prototype:
Original commit message from CVS:
Fix the fixate functions to handle new prototype:
* gst/sine/gstsinesrc.c: (gst_sinesrc_src_fixate):
* gst/videotestsrc/gstvideotestsrc.c:
(gst_videotestsrc_src_fixate):
* sys/oss/gstosssink.c: (gst_osssink_sink_fixate):
* sys/ximage/ximagesink.c: (gst_ximagesink_fixate):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_fixate):
2004-01-04 23:46:39 +00:00
Benjamin Otte
408cd46e50 sys/ximage/ximagesink.*: assorted fixes to make (re)embedding work
Original commit message from CVS:
2004-01-04  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* sys/ximage/ximagesink.h:
* sys/ximage/ximagesink.c: (gst_ximagesink_xwindow_new),
(gst_ximagesink_xwindow_destroy), (gst_ximagesink_sinkconnect),
(gst_ximagesink_change_state), (gst_ximagesink_set_xwindow_id),
(gst_ximagesink_xoverlay_init):
assorted fixes to make (re)embedding work
* sys/ximage/ximagesink.c: (gst_ximagesink_sinkconnect),
(gst_ximagesink_get_desired_size):
implement desired size additions to XOverlay
2004-01-04 18:53:53 +00:00
David Schleef
4c9ab8aa89 ext/ffmpeg/gstffmpegenc.c: Negotiation fixes.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_init),
(gst_ffmpegenc_connect):  Negotiation fixes.
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_negotiate_format):
Remove inappropriate gst_caps_free().
* sys/ximage/ximagesink.c: (gst_ximagesink_sinkconnect):
Reenable Ronald's internal resize code, since the core handles
it correctly now.
2004-01-02 23:11:41 +00:00
Ronald S. Bultje
e32e0c31d7 sys/ximage/ximagesink.c: Comment out internal resize. It doesn't handle the resulting
Original commit message from CVS:
2004-01-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* sys/ximage/ximagesink.c: (gst_ximagesink_sinkconnect):
Comment out internal resize. It doesn't handle the resulting
XEvent internally, does another try_set_caps() which leads to
a really nice loop.
Real fix will come when Julien and Dave are awake. ;).
2004-01-02 11:34:24 +00:00
Ronald S. Bultje
274b241a38 configure.ac: Fix configure check for mpeg2enc. We need 1.6.1.93 instead of 1.6.1.92, since the pkg-config file of 1....
Original commit message from CVS:
2004-01-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* configure.ac:
Fix configure check for mpeg2enc. We need 1.6.1.93 instead of
1.6.1.92, since the pkg-config file of 1.6.1.92 is borked and
it therefore uses the wrong include paths. Too bad... Note
that 1.6.1.93 is not release yet. ;).
Also add a check for mplex, which is now using the lib'ified
mplex from mjpegtools, too.
* ext/ffmpeg/gstffmpegcodecmap.c:
Add codec_tag for 3ivx/xvid. For xvid, this should fix playback
issues. I don't think ffmpeg handles 3ivx correctly, so this
probably won't work. But it won't hurt either.
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_connect),
(gst_ffmpegdec_chain):
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_connect),
(gst_ffmpegenc_chain_audio):
Fix memleak in audio encoding. Close codec if open fails, this
calls the cleanup routines so we can re-use the context.
* ext/mpeg2enc/gstmpeg2enc.cc:
Fix pad template names/types, fix memory issue with getcaps().
* ext/mpeg2enc/gstmpeg2encoder.cc:
* ext/mpeg2enc/gstmpeg2encoder.hh:
Fix compile issue with new caps system (const thingy).
* ext/mpeg2enc/gstmpeg2encpicturereader.cc:
* ext/mpeg2enc/gstmpeg2encpicturereader.hh:
We read a first frame right on initing, so that we have a caps
when we init the output. This caps is cached in padprivate and
read as first frame.
* ext/mplex/Makefile.am:
* ext/mplex/gstmplex.cc:
* ext/mplex/gstmplex.h:
* ext/mplex/gstmplex.hh:
* ext/mplex/gstmplexibitstream.cc:
* ext/mplex/gstmplexibitstream.hh:
* ext/mplex/gstmplexjob.cc:
* ext/mplex/gstmplexjob.hh:
* ext/mplex/gstmplexoutputstream.cc:
* ext/mplex/gstmplexoutputstream.hh:
We wrap mjpegtools mplex. So I rewrote the plugin. The old plugin
had issues, didn't do capsnego, supported only a subset of the
mplex features and required a mplex fork in our local CVS. Plus
that it worked agaist a very old mplex version. Rewriting was
faster than updating it.
* gst-libs/ext/Makefile.am:
* gst-libs/ext/mplex/INSTRUCT:
* gst-libs/ext/mplex/Makefile.am:
* gst-libs/ext/mplex/README:
* gst-libs/ext/mplex/TODO:
* gst-libs/ext/mplex/ac3strm_in.cc:
* gst-libs/ext/mplex/audiostrm.hh:
* gst-libs/ext/mplex/audiostrm_out.cc:
* gst-libs/ext/mplex/aunit.hh:
* gst-libs/ext/mplex/bits.cc:
* gst-libs/ext/mplex/bits.hh:
* gst-libs/ext/mplex/buffer.cc:
* gst-libs/ext/mplex/buffer.hh:
* gst-libs/ext/mplex/fastintfns.h:
* gst-libs/ext/mplex/format_codes.h:
* gst-libs/ext/mplex/inputstrm.cc:
* gst-libs/ext/mplex/inputstrm.hh:
* gst-libs/ext/mplex/lpcmstrm_in.cc:
* gst-libs/ext/mplex/mjpeg_logging.cc:
* gst-libs/ext/mplex/mjpeg_logging.h:
* gst-libs/ext/mplex/mjpeg_types.h:
* gst-libs/ext/mplex/mpastrm_in.cc:
* gst-libs/ext/mplex/mpegconsts.cc:
* gst-libs/ext/mplex/mpegconsts.h:
* gst-libs/ext/mplex/mplexconsts.hh:
* gst-libs/ext/mplex/multplex.cc:
* gst-libs/ext/mplex/outputstream.hh:
* gst-libs/ext/mplex/padstrm.cc:
* gst-libs/ext/mplex/padstrm.hh:
* gst-libs/ext/mplex/stillsstream.cc:
* gst-libs/ext/mplex/stillsstream.hh:
* gst-libs/ext/mplex/systems.cc:
* gst-libs/ext/mplex/systems.hh:
* gst-libs/ext/mplex/vector.cc:
* gst-libs/ext/mplex/vector.hh:
* gst-libs/ext/mplex/videostrm.hh:
* gst-libs/ext/mplex/videostrm_in.cc:
* gst-libs/ext/mplex/videostrm_out.cc:
* gst-libs/ext/mplex/yuv4mpeg.cc:
* gst-libs/ext/mplex/yuv4mpeg.h:
* gst-libs/ext/mplex/yuv4mpeg_intern.h:
* gst-libs/ext/mplex/yuv4mpeg_ratio.cc:
We don't fork mjpegtools' mplex in our CVS anymore.
* gst/avi/gstavidemux.c: (gst_avi_demux_src_getcaps),
(gst_avi_demux_add_stream):
* gst/avi/gstavidemux.h:
Add getcaps() function for proper caps nego. This makes some
parts of AVI playback/reading work.
* sys/ximage/ximagesink.c: (gst_ximagesink_sinkconnect):
Resize window on new capsnego. This is probably wrong, but
I'm still committing it because with current capsnego, the
first successfull capsnego is auto-fixated, therefore rounded
down to the lowest values in the caps. this results in a 16x16
XWindow that is not reized when real capsnego finishes.
Dave, I see more cases of this, do you know a proper solution?
* tools/gst-launch-ext.in:
Fix MPEG-4 AAC (Apple iPod/iTunes) file commandline.
2004-01-01 22:45:57 +00:00
David Schleef
e095323df1 Negotiation fixes.
Original commit message from CVS:
Negotiation fixes.
2003-12-31 08:02:04 +00:00
Ronald S. Bultje
b366c56da2 Fix 24bppLE RGB
Original commit message from CVS:
Fix 24bppLE RGB
2003-12-23 22:41:37 +00:00
David Schleef
3b60021408 Merge CAPS branch
Original commit message from CVS:
Merge CAPS branch
2003-12-22 01:47:09 +00:00
Ronald S. Bultje
efa3c21fdd Fix LE caps on bpp=24/32. Our docs currently say that these are BE only. I disagree, but still, it's our spec so let'...
Original commit message from CVS:
Fix LE caps on bpp=24/32. Our docs currently say that these are BE only. I disagree, but still, it's our spec so let's keep to it for now...
2003-12-17 22:37:26 +00:00
Julien Moutte
db10d21391 Reverting Benjamin's changes as agreed with Ronald until someone really explain how RGB should be handled.
Original commit message from CVS:
Reverting Benjamin's changes as agreed with Ronald until someone really explain how RGB should be handled.
2003-12-12 16:49:22 +00:00
Ronald S. Bultje
2ebfe048cc Move over from GstInterface to GstImplementsInterface. Also adds some signals to several interfaces
Original commit message from CVS:
Move over from GstInterface to GstImplementsInterface. Also adds some signals to several interfaces
2003-12-07 12:11:30 +00:00
Andy Wingo
80fece4f4b remove copyright field from plugins
Original commit message from CVS:
remove copyright field from plugins
2003-12-04 10:37:39 +00:00
Julien Moutte
94e402ef83 Making XShm code shorter.
Original commit message from CVS:
Making XShm code shorter.
Fixing some mem leaks.
Reverting some changes about depth and sinkconnect that need to be discussed.
2003-11-26 10:12:05 +00:00
Benjamin Otte
2e2c83b99c remove g_print messages (2nd time today, I suck)
Original commit message from CVS:
remove g_print messages (2nd time today, I suck)
2003-11-25 04:49:35 +00:00
Benjamin Otte
631a4456b2 various fixes from mem leaks to correct caps nego
Original commit message from CVS:
various fixes from mem leaks to correct caps nego
2003-11-25 04:48:04 +00:00
David Schleef
3863b258b2 distcheck fixes
Original commit message from CVS:
distcheck fixes
2003-11-22 04:06:50 +00:00
Julien Moutte
623b2a5d87 Finishing GstVideoSink subclassing.
Original commit message from CVS:
Finishing GstVideoSink subclassing.
2003-11-19 22:31:46 +00:00
Julien Moutte
bbac18352f GstVideoSink subclassing. 90% done.
Original commit message from CVS:
GstVideoSink subclassing. 90% done.
2003-11-19 20:43:49 +00:00
Julien Moutte
9ddf040472 Lot of small fixes.
Original commit message from CVS:
Lot of small fixes.
Implemented XOverlay interface.
2003-11-17 16:32:29 +00:00
Julien Moutte
9860ad3d10 Checking return value of gst_pad_try_set_caps on software scaling so if this fails we are not awaiting a different vi...
Original commit message from CVS:
Checking return value of gst_pad_try_set_caps on software scaling so if this fails we are not awaiting a different video size.
2003-11-15 11:48:55 +00:00
Julien Moutte
b80a8f7bae Using less and less XGetWindowAttributes. I m using the configure events to keep our internal data up to date and use...
Original commit message from CVS:
Using less and less XGetWindowAttributes. I m using the configure events to keep our internal data up to date and use that to work (faster).
Implemented offset management in the navigation event if the image is centered in the window.
2003-11-13 10:46:12 +00:00
Julien Moutte
ddb4e3ef85 - Fixing framerate on caps renegotiation. We memorize it on sinkconnect to set fixed caps on renego.
Original commit message from CVS:
- Fixing framerate on caps renegotiation. We memorize it on sinkconnect to set fixed caps on renego.
- Homogenized indentation.
- Removed some comments.
- Fixed the caps renegotiation new ximage creation (it was creating a new ximage on every configure event even if window's size has not changed)
- Removed pointer coordinates translation in navigation_send_event as we are not doing scaling. videoscale should convert those events is scaling there is.
2003-11-12 13:06:21 +00:00
Benjamin Otte
fb844d50ec fix build system for X, XShm and Xv
Original commit message from CVS:
fix build system for X, XShm and Xv
2003-11-12 03:06:07 +00:00
Thomas Vander Stichele
c3c782ff10 yikes, cvs didn't like my vim swap file.
Original commit message from CVS:
yikes, cvs didn't like my vim swap file.
here's the proper revert + commit
2003-11-11 11:32:27 +00:00
Thomas Vander Stichele
fa97ee389e fix define
Original commit message from CVS:
fix define
2003-11-11 11:12:20 +00:00
David Schleef
430cbd3a9e recreate ximage after try_set_caps suceeds
Original commit message from CVS:
recreate ximage after try_set_caps suceeds
2003-11-11 05:32:09 +00:00
David Schleef
6f07363ea2 Change GstCaps to GstStructure in navigation events. Fix x[v]imagesink to scale navigation events.
Original commit message from CVS:
Change GstCaps to GstStructure in navigation events.  Fix x[v]imagesink
to scale navigation events.
2003-11-11 00:43:29 +00:00
Julien Moutte
93ad6a64d5 Trying to fix the caps renegotiation.
Original commit message from CVS:
Trying to fix the caps renegotiation.
2003-11-10 19:57:57 +00:00
Julien Moutte
b0dd315812 Fixed navigation events.
Original commit message from CVS:
Fixed navigation events.
We only miss caps renegotiation for video software scaling.
2003-11-09 19:11:26 +00:00
Julien Moutte
8f4c8a103b Moved the xevents handling in a function. Trying to get caps renegotiation to work.
Original commit message from CVS:
Moved the xevents handling in a function. Trying to get caps renegotiation to work.
The xwindow is not resized by sinkconnect as i still don't know what i ll do for that autoresize behaviour.
2003-11-08 14:58:35 +00:00
David Schleef
fffabcc973 dummy checkin to add log for last checkin: use try_set_caps() instead of using an event to signal caps renegotiation
Original commit message from CVS:
dummy checkin to add log for last checkin: use try_set_caps() instead
of using an event to signal caps renegotiation
2003-11-07 22:29:58 +00:00
David Schleef
bed312e6a2 I'm too lazy to comment this
Original commit message from CVS:
*** empty log message ***
2003-11-07 22:21:37 +00:00
Julien Moutte
9def6e3c3e First draft at renegotiation on XConfigure event and navigation events.
Original commit message from CVS:
First draft at renegotiation on XConfigure event and navigation events.
2003-11-07 18:00:39 +00:00
Thomas Vander Stichele
9a378dd53e test and define HAVE_XSHM build ximage plugin
Original commit message from CVS:
test and define HAVE_XSHM
build ximage plugin
2003-11-07 00:53:32 +00:00
David Schleef
1a3cbc465f Fix caps handling
Original commit message from CVS:
Fix caps handling
2003-11-06 22:48:03 +00:00
Julien Moutte
60a60a0452 Adding navigation interface.
Original commit message from CVS:
Adding navigation interface.
Putting a define for USE_SHM waiting for bug #126401 to be fixed.
2003-11-06 22:17:37 +00:00
Julien Moutte
272458b0b0 Adding ximagesink plugin.
Original commit message from CVS:
Adding ximagesink plugin.

Pure X11 (XShm supported) video output plugin.
2003-11-06 21:51:14 +00:00