Free the session when all the request pads are released.
Don't mess with the session list in free_session as it is called from a foreach
on that list.
Set the state of the upstream element to NULL first.
See #561752
Re-work the dtsdec element code to unify it with changes made it a52dec,
including support for reverse playback and dynamic channel negotiation
on the source pad.
When we are dealing with multiast, create the udp src and sink elements pointing
to the multicast addresses. When we are doing unicast, receive data on the local
ports and don't send RTCP because we don't know where we have to send it.
Fixes#583188
Original commit message from CVS:
* Makefile.am:
Add win32 MANIFEST
* sys/directdraw/gstdirectdrawsink.c:
* sys/directdraw/gstdirectdrawsink.h:
Clear unused code and add comments.
Remove yuv from template caps, it only supports RGB
actually.
Implement XOverlay interface and remove window and fullscreen
properties.
Add debug logs.
Test for blit capabilities to return only the current colorspace if
the hardware can't blit for one colorspace to another.
* sys/directsound/gstdirectsoundsink.c:
Add some debugs.
* win32/MANIFEST:
Add VS7 project files and solution.
* win32/vs6/gst_plugins_bad.dsw:
* win32/vs6/libgstdirectdraw.dsp:
* win32/vs6/libgstdirectsound.dsp:
* win32/vs6/libgstqtdemux.dsp:
Update project files.
Original commit message from CVS:
Patch by: Sergey Scobich <sergey dot scobich at gmail com>
* sys/directdraw/gstdirectdrawsink.c:
(gst_directdrawsink_window_thread),
(gst_directdrawsink_create_default_window):
* sys/directdraw/gstdirectdrawsink.h:
* sys/directsound/gstdirectsoundsink.c:
Wait until the window is created before using it; guard unistd.h
includes with HAVE_UNISTD_H. (#366523)
* win32/vs8/libgstdirectdraw.vcproj:
* win32/vs8/libgstdirectsound.vcproj:
Update project files.
Original commit message from CVS:
* sys/directsound/gstdirectsoundsink.h:
* sys/directsound/gstdirectsoundsink.c:
Add an attenuation property that will directly attenuate the
directsound buffer.
Change the size of the directsound secondary buffer to a half second.
Add more debug logs.
Add a lock to protect dsound buffer write access.
Fix a bad implementation of reset.
* sys/directsound/gstdirectdrawsink.c:
* sys/directsound/gstdirectdrawsink.h:
Add a keep_aspect_ratio property.
Do not use overlay if not supported.
Add more debug logs.
Remove overwrite of WM_ERASEBKGND message handling. It was not
redrawing border when keep_aspect_ratio was enabled.
* win32/common/config.h:
update version waiting an auto-generated config.h
Original commit message from CVS:
* sys/directdraw:
* sys/directsound:
sinks are now using GST_RANK_PRIMARY to be used with autodectection
* win32/vs6:
project files updated to fix some bugs
* win32/vs7:
* win32/vs8:
vs7 and vs8 project files added
Original commit message from CVS:
* sys/directdraw/gstdirectdrawsink.c (gst_directdraw_sink_buffer_alloc,
gst_directdraw_sink_bufferpool_clear):
Fix two more buffer ref leaks.
Original commit message from CVS:
Patch by: Ole André Vadla Ravnås <ole.andre.ravnas at tandberg com>
* sys/directdraw/gstdirectdrawsink.c:
(gst_directdraw_sink_show_frame):
Fix buffer ref leak.
Original commit message from CVS:
patch by: Haakon Sporsheim <haakon.sporsheim at tandberg com>
* sys/directdraw/gstdirectdrawsink.c (gst_directdraw_sink_setup_ddraw):
Do IDirectDrawClipper_SetHWnd() if the window ID has already been
set after creating the clipper.
Original commit message from CVS:
patch by: Haakon Sporsheim <haakon.sporsheim at tandberg com>
* sys/directdraw/gstdirectdrawsink.c (gst_directdraw_sink_show_frame):
Added checking of surface lost case after an unsuccessful
IDirectDrawSurface7_Lock() call.
If surface is lost, return GST_FLOW_OK.
Original commit message from CVS:
patch by: Haakon Sporsheim <haakon.sporsheim at tandberg com>
* sys/directdraw/gstdirectdrawsink.c (gst_directdraw_sink_show_frame,
WndProc, gst_directdraw_sink_window_thread):
Improved Windows message loop and fixed window destruction issue.
When the window which DirectDraw is rendering to is destroyed, the
render/show_frame function will return GST_FLOW_ERROR.
Partially fixes#520885.
Original commit message from CVS:
patch by: Haakon Sporsheim <haakon.sporsheim at tandberg com>
* sys/directdraw/gstdirectdrawsink.c (gst_directdraw_sink_set_caps):
Fixed mid stream resolution change bug, the offscreen surface is now
released when set_caps is called.
Partially fixes#520885.
Original commit message from CVS:
* sys/directdraw/gstdirectdrawsink.c
(gst_directdraw_sink_buffer_alloc):
Make it so that gst_directdraw_sink_buffer_alloc uses the right
width/height.
Especially when looking through the pool of buffers, make sure that
the width/height of caps is used instead of the already negotiated
dimensions.
For example if a buffer with different caps is requested, i.e.
higher resolution, the caller would get a buffer with the old
dimensions and thus corrupt the heap.
Original commit message from CVS:
* sys/directdraw/gstdirectdrawsink.c
(gst_directdraw_sink_buffer_alloc):
Clear the flags on recycled buffers from buffer_alloc.
Partially fixes#520885.
The right fix this time.
Original commit message from CVS:
* sys/directdraw/gstdirectdrawsink.c
(gst_directdraw_sink_buffer_alloc):
Reverting previous commit, it had it all mixed up, was for a different
patch (major automation screw-up). Sorry!
Original commit message from CVS:
* sys/directdraw/gstdirectdrawsink.c
(gst_directdraw_sink_buffer_alloc):
Clear the flags on recycled buffers from buffer_alloc.
Partially fixes#520885.
Original commit message from CVS:
2008-01-05 Julien Moutte <julien@fluendo.com>
* sys/directdraw/gstdirectdrawsink.c:
(gst_directdraw_sink_set_window_id),
(gst_directdraw_sink_set_caps),
(gst_directdraw_sink_change_state),
(gst_directdraw_sink_buffer_alloc),
(gst_directdraw_sink_draw_borders),
(gst_directdraw_sink_show_frame),
(gst_directdraw_sink_setup_ddraw),
(gst_directdraw_sink_window_thread),
(gst_directdraw_sink_get_ddrawcaps),
(gst_directdraw_sink_surface_create): Make sure we create our
internal window only when we need it. That will give a chance to
the application to get the prepare-xwindow-id bus message. Draw
black borders when keeping aspect ratio. Handle the case where
our
rendering window disappears (closed or errors) like other sinks
do. Various 80 columns fixes, improve state change order. That
element could need some more love.
Original commit message from CVS:
* configure.ac:
* sys/Makefile.am:
* sys/directdraw/Makefile.am:
* sys/directsound/Makefile.am:
* sys/waveform/Makefile.am:
Make sure to dist everything needed for win32 builds.
Original commit message from CVS:
* docs/plugins/gst-plugins-bad-plugins.args:
* sys/directdraw/gstdirectdrawsink.c:
(gst_directdraw_sink_class_init):
Rename the keep-aspect-ratio property to force-aspect-ratio to make
it consistent with xvimagesink and ximagesink.
Original commit message from CVS:
Patch by: Vincent Torri <vtorri at univ-evry fr>
* sys/directdraw/gstdirectdrawsink.c:
(gst_directdraw_sink_buffer_alloc),
(gst_directdraw_sink_show_frame),
(gst_directdraw_sink_check_primary_surface),
(gst_directdraw_sink_check_offscreen_surface),
(EnumModesCallback2), (gst_directdraw_sink_get_ddrawcaps),
(gst_directdraw_sink_surface_create):
* sys/directdraw/gstdirectdrawsink.h:
Fix more warnings when compiling with MingW (#439914).
Original commit message from CVS:
* sys/directdraw/gstdirectdrawsink.c: (gst_ddrawsurface_finalize),
(gst_directdraw_sink_buffer_alloc),
(gst_directdraw_sink_get_ddrawcaps),
(gst_directdraw_sink_surface_create):
Bunch of small fixes: remove static function that doesn't exist;
declare another one that does; printf format fix; use right macro
when specifying debug category; remove a bunch of unused variables;
#if 0 out an unused chunk of code (partially fixes#439914).
Original commit message from CVS:
* configure.ac:
* sys/directdraw/Makefile.am:
* sys/directsound/Makefile.am:
Add DIRECTDRAW_CFLAGS and DIRECTSOUND_CFLAGS to Makefile.am; save
and restore the various flags in the directdraw/directsound
detection section. Apparently improves cross-compiling for win32
with mingw32 under some circumstances (#437539).
Original commit message from CVS:
* sys/directdraw/gstdirectdrawsink.c:
* sys/directdraw/gstdirectdrawsink.h:
Handle display mode changes during playback.