From f1de74af9270235126b67e9507111df5752a3e5c Mon Sep 17 00:00:00 2001
From: Tom Rondeau
Date: Wed, 12 Dec 2012 18:45:53 -0500
Subject: core: add new options to GRC for file_meta_sink.
Also updates gr_read_file_metadata to add a -D option that properly parses a detached header.
---
gr-utils/src/python/gr_read_file_metadata | 10 +++++++---
grc/blocks/gr_file_meta_sink.xml | 28 ++++++++++++++++++++++++++--
2 files changed, 33 insertions(+), 5 deletions(-)
diff --git a/gr-utils/src/python/gr_read_file_metadata b/gr-utils/src/python/gr_read_file_metadata
index ba530ca54..efbf8d15d 100644
--- a/gr-utils/src/python/gr_read_file_metadata
+++ b/gr-utils/src/python/gr_read_file_metadata
@@ -26,7 +26,7 @@ from optparse import OptionParser
from gnuradio import gr
from gnuradio import parse_file_metadata
-def main(filename):
+def main(filename, detached=False):
handle = open(filename, "rb")
nheaders = 0
@@ -63,7 +63,9 @@ def main(filename):
extra_info = parse_file_metadata.parse_extra_dict(extra, info, True)
nheaders += 1
- nread += info['nbytes'] + parse_file_metadata.HEADER_LENGTH + info["extra_len"]
+ nread += parse_file_metadata.HEADER_LENGTH + info["extra_len"]
+ if(not detached):
+ nread += info['nbytes']
handle.seek(nread, 0)
print "\n\n"
@@ -73,6 +75,8 @@ if __name__ == "__main__":
parser = OptionParser(conflict_handler="resolve",
usage=usage, description=description)
+ parser.add_option("-D", "--detached", action="store_true", default=False,
+ help="Used if header is detached.")
(options, args) = parser.parse_args ()
if(len(args) < 1):
@@ -80,4 +84,4 @@ if __name__ == "__main__":
sys.exit(1)
filename = args[0]
- main(filename)
+ main(filename, options.detached)
diff --git a/grc/blocks/gr_file_meta_sink.xml b/grc/blocks/gr_file_meta_sink.xml
index e6f5f2bd6..ba9bf4ee1 100644
--- a/grc/blocks/gr_file_meta_sink.xml
+++ b/grc/blocks/gr_file_meta_sink.xml
@@ -8,7 +8,7 @@
File Meta Sink
gr_file_meta_sink
from gnuradio import gr
- gr.file_meta_sink($type.size*$vlen, $file, $samp_rate, $rel_rate, $type.dtype, $type.cplx)
+ gr.file_meta_sink($type.size*$vlen, $file, $samp_rate, $rel_rate, $type.dtype, $type.cplx, $max_seg_size, $extra_dict, $detached)
self.$(id).set_unbuffered($unbuffered)
set_unbuffered($unbuffered)
open($file)
@@ -77,6 +77,31 @@ self.$(id).set_unbuffered($unbuffered)
int
+ Max Seg. Size
+ max_seg_size
+ 1000000
+ int
+
+
+ Extra Dict.
+ extra_dict
+ ""
+ string
+
+
+ Detached
+ detached
+ False
+ bool
+
+
+
Unbuffered
unbuffered
False
@@ -90,7 +115,6 @@ self.$(id).set_unbuffered($unbuffered)
True
-
$vlen > 0
in
--
cgit