summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--ext/mythtv/gstmythtvsrc.c7
2 files changed, 12 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 5b68964ca..3ae131719 100644
--- 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>
diff --git a/ext/mythtv/gstmythtvsrc.c b/ext/mythtv/gstmythtvsrc.c
index 6d8875dff..0650e077f 100644
--- a/ext/mythtv/gstmythtvsrc.c
+++ b/ext/mythtv/gstmythtvsrc.c
@@ -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);