diff options
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 52 |
1 files changed, 52 insertions, 0 deletions
@@ -1,3 +1,55 @@ +2008-09-10 Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com> + + * sys/winks/gstksvideodevice.c (GST_DEBUG_IS_ENABLED, last_timestamp, + gst_ks_video_device_prepare_buffers, gst_ks_video_device_create_pin, + gst_ks_video_device_set_state, gst_ks_video_device_request_frame, + gst_ks_video_device_read_frame): + Guard against capturing old frames by keeping track of the last + timestamp and also zero-fill the buffers before each capture. + Only assign a master clock if the pin hasn't already got one. + Actually free buffers on the way down to avoid a huge memory leak, + as this was previously done when changing state to ACQUIRE downwards + and we now skip that state on the way down. + Add some debug. + * sys/winks/gstksvideosrc.c (DEFAULT_DEVICE_PATH, DEFAULT_DEVICE_NAME, + DEFAULT_DEVICE_INDEX, KS_WORKER_LOCK, KS_WORKER_UNLOCK, + KS_WORKER_WAIT, KS_WORKER_NOTIFY, KS_WORKER_WAIT_FOR_RESULT, + KS_WORKER_NOTIFY_RESULT, KS_WORKER_STATE_STARTING, + KS_WORKER_STATE_READY, KS_WORKER_STATE_STOPPING, + KS_WORKER_STATE_ERROR, KsWorkerState, device_path, device_name, + device_index, running, worker_thread, worker_lock, + worker_notify_cond, worker_result_cond, worker_state, + worker_pending_caps, worker_setcaps_result, worker_pending_run, + worker_run_result, gst_ks_video_src_reset, + gst_ks_video_src_apply_driver_quirks, gst_ks_video_src_open_device, + gst_ks_video_src_close_device, gst_ks_video_src_worker_func, + gst_ks_video_src_start_worker, gst_ks_video_src_stop_worker, + gst_ks_video_src_change_state, gst_ks_video_src_set_clock, + gst_ks_video_src_set_caps, gst_ks_video_src_timestamp_buffer, + gst_ks_video_src_create): + Remove ENABLE_CLOCK_DEBUG define, it's GST_LEVEL_DEBUG after all. + Get rid of PROP_ENSLAVE_KSCLOCK and always slave the ks clock to the + GStreamer clock, it doesn't seem to hurt and matches DirectShow's + behavior. As an added bonus we usually get PresentationTime set for + each frame, so we can expand on this later for smarter latency + reporting (by looking at the diff between the timestamp from the + driver and the time according to the GStreamer clock). + Use an internal worker thread for opening the device, setting caps, + changing its state and closing it. This way we're a lot more + compatible with drivers that rely on hacks to do video-effects + between the low-level NT API and the application. Ick. + Start the ks clock and set the pin to KSSTATE_RUN on the first + create() so that we'll hopefully get hold of the GStreamer clock + from the very beginning. This way there's no chance that the + timestamps will make a sudden jump in the beginning of the stream + when we're running with a clock. + * sys/winks/kshelpers.c (CHECK_OPTIONS_FLAG, + ks_options_flags_to_string): + Reorder the flags to match the headerfile order, and make the string + a bit more compact. + * sys/winks/ksvideohelpers.c (ks_video_probe_filter_for_caps): + Avoid leaking KSPROPERTY_PIN_DATARANGES. + 2008-09-09 Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk> * configure.ac: |