ext/mythtv/gstmythtvsrc.c: Using the wrong GstFormat for the filesize, and fail seek...
authorBastien Nocera <hadess@hadess.net>
Wed, 20 Feb 2008 16:04:32 +0000 (16:04 +0000)
committerBastien Nocera <hadess@hadess.net>
Wed, 20 Feb 2008 16:04:32 +0000 (16:04 +0000)
Original commit message from CVS:
2008-02-20  Bastien Nocera  <hadess@hadess.net>

* ext/mythtv/gstmythtvsrc.c: (gst_mythtv_src_do_seek),
(gst_mythtv_src_start): Using the wrong GstFormat for the filesize,
and fail seek properly on anything but _BYTES format
Fixes bug #517684

ChangeLog
ext/mythtv/gstmythtvsrc.c

index 5b68964..3ae1317 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,16 @@
+2008-02-20  Bastien Nocera  <hadess@hadess.net>
+
+       * ext/mythtv/gstmythtvsrc.c: (gst_mythtv_src_do_seek),
+       (gst_mythtv_src_start): Using the wrong GstFormat for the filesize,
+       and fail seek properly on anything but _BYTES format
+       Fixes bug #517684
+
 2008-02-20  Sebastian Dröge  <slomo@circular-chaos.org>
 
        Patch by: Olivier Crete <tester at tester dot ca>
 
        * gst/rtpmanager/gstrtpbin.c: (new_ssrc_pad_found):
-       Fix small memory leak, leaking caps. Fixes #bug 517571.
+       Fix small memory leak, leaking caps. Fixes bug #517571.
 
 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
 
index 6d8875d..0650e07 100644 (file)
@@ -475,7 +475,8 @@ gst_mythtv_src_do_seek (GstBaseSrc * base, GstSegment * segment)
 
   GST_LOG_OBJECT (src, "seek, segment: %" GST_SEGMENT_FORMAT, segment);
 
-  if (segment->format == GST_FORMAT_TIME) {
+  if (segment->format != GST_FORMAT_BYTES) {
+    ret = FALSE;
     goto done;
   }
   GST_LOG_OBJECT (src,
@@ -490,7 +491,7 @@ gst_mythtv_src_do_seek (GstBaseSrc * base, GstSegment * segment)
           segment->start, G_SEEK_SET);
     else if (IS_GMYTH_FILE_TRANSFER (src->file))
       new_offset = gmyth_file_transfer_seek (GMYTH_FILE_TRANSFER (src->file),
-          segment->start, SEEK_SET);
+          segment->start, G_SEEK_SET);
     if (G_UNLIKELY (new_offset < 0)) {
       ret = FALSE;
       if (!src->live_tv)
@@ -632,7 +633,7 @@ gst_mythtv_src_start (GstBaseSrc * bsrc)
 
   gst_pad_push_event (GST_BASE_SRC_PAD (GST_BASE_SRC (src)),
       gst_event_new_new_segment (TRUE, 1.0,
-          GST_FORMAT_TIME, 0, src->content_size, 0));
+          GST_FORMAT_BYTES, 0, src->content_size, 0));
 done:
   if (gmyth_uri != NULL) {
     g_object_unref (gmyth_uri);